TFS действительно любит, чтобы все зависимости проекта находились внутри одной папки. Я бы немного изменил структуру папок. Вот как я это сделаю.
TeamProject
SecretApplication
SharedLibrary1
Application1
SharedLibrary1
SharedLibrary1
ConsultantApplication1
SharedLibrary1
Вот деталь ...
Обратите внимание, как все приложения являются сверстники? SharedLibraries являются разделяемыми/разветвленными в приложениях, которые их используют. Таким образом, приложения могут двигаться вперед в своем собственном темпе и сбрасывать общие изменения в своем собственном темпе и объединять свои изменения с общим кодом обратно в своем собственном темпе. TeamProject-> SharedLibrary1 - это «основная линия» для SharedLibrary1. Всюду, где вы видите SharedLibrary1, это ветка. Каждая папка приложения - это собственная «магистраль», что делает вашу структуру более ориентированной на приложения, чем «вся наша работа».
С помощью этой настройки вы просто создаете ветвь приложения 1 и называете ее «КонсультантАппликация1». Таким образом, вы можете настроить свою безопасность, чтобы ваши консультанты могли видеть только одно приложение и все его зависимости. Они могут сливаться и тянуть по желанию. Ну, они не смогут слиться, не увидев исходный проект, но вы можете. Все остальные приложения в вашем командном проекте будут невидимы для них.
Сообщите мне, если я что-то неправильно понял или есть некоторые требования, препятствующие использованию такой структуры. Если в Application1 есть секретная общая библиотека, нам придется подумать об этом еще немного, но я думаю, что в любом случае проблемы с компиляцией. Несмотря на это, размещение всех зависимостей для приложения под одной папкой помогает тонну и является отличной практикой.
+1, держите его просто –