Моя команда в настоящее время работает над веб-сайтом ASP .NET. Мы являемся одной из первых групп в нашей организации, которая использует TFS2008 для контроля версий. Когда я присоединился к проекту, он уже был активным в течение нескольких месяцев. Ниже приведена схема базовой файловой структуры, которую мы используем в TFS:
$/TfsProject/
|
| /* Contains our in-house class libraries. */
|-- Common/
| |
| |-- Extensions/
| | |-- Extensions.csproj
| |
| |-- Loggers/
| |-- Loggers.csproj
|
| /* Contains third-party libraries. */
|-- Library/
| |
| |-- EnterpriseLibrary/
| |
| |-- v4.1/
| |-- Microsoft.Practices.EnterpriseLibrary.Common.dll
|
| /* Contains the website itself. */
|-- Site/
|
|-- Packages/
| |-- Packages.csproj
|
|-- Website.root/
|
|-- Website/
|-- Website.sln
|
|-- Website/
| |-- Website.csproj
| |-- Default.aspx
|
|-- WebsiteUnitTests/
| |-- WebsiteUnitTests.csproj
|
|-- WebsiteWebControls/
| |-- WebsiteWebControls.csproj
|
|-- Utilities/
|-- Utilities.csproj
Основное решение веб-сайта (Website.sln
) в настоящее время содержит пятнадцать проектов (включая каждый из .csproj
файлов, отображаемых на диаграмме). Вчера было принято решение, что проекты, содержащиеся в каталоге Common
, должны быть перемещены в их собственное решение, и мы должны включить их в Веб-сайт, ссылаясь на скомпилированные библиотеки DLL, а не на сами проекты. Каждый раз, когда обновляется один из проектов Common
, все другие проекты, использующие его, должны начать использовать последнюю версию с минимальными усилиями.
Есть ли простой способ реализовать это, основываясь на нашей нынешней иерархии? Я прочитал руководство TFS Patterns & Practices , но реализация любых его предложений потребует значительных изменений (а также обновления всех наших проектов и решений). Кроме того, наша организация ожидает выпуска TFS2010, прежде чем включить Team Builds - поэтому они нам недоступны.