Мой процесс похож на процесс других плакатов.
Скажем, у меня есть два проекта, назовите их CoreProject и AppProject. CoreProject является общим. В AppProject есть папка SharedBinaries. Именно на это указывают все ссылки на сборки.
Мой сценарий TFSBuild для CoreProject настроен на выполнение следующих действий:
-Получить последние
-Строить зону перетаскивания (что-то вроде \\ SERVER \ DropZone \ CoreProjectBuildNameAndNumber)
-Drop копируется в папку в зоне размещения (что-то вроде \\ SERVER \ DropZone \ Latest \ CoreProject)
Сценарий TFSBuild для AppProject настроен на выполнение следующих действий:
-Получить последние
- проверка файлов в папке SharedBinaries
-Копировать файлы из \\ SERVER \ DropZone \ Latest \ CoreProject
-Build
-Пропустить в зону удаления (что-то вроде \\ SERVER \ DropZone \ AppProjectBuildNameAndNumber)
-Если сборка прошла успешно, сборка копируется в зону размещения папок (что-то вроде \\ SERVER \ DropZone \ Latest \ AppProject), а файлы в SharedBinaries проверяются в
-Если сборка не удалась, файлы, скопированные в SharedBinaries, отменяют проверку.
Я обнаружил, что это работает очень хорошо. AppProject всегда строится с использованием самых последних битов из CoreProject, поэтому мы сразу знаем, есть ли существенные изменения. После проверки SharedBinaries в TFS я могу получить определенную версию и запустить код с теми же библиотеками из CoreProject, которые использовались в то время. Кроме того, мне просто нужно получить последнюю версию, и моя локальная машина также собирает последние версии.