Мой процесс аналогичен процессу других плакатов.
Скажем, у меня есть два проекта, назовите их CoreProject и AppProject. CoreProject является общим. В AppProject есть папка SharedBinaries. Это указывает на все ссылки на сборку.
Мой TFSBuild сценарий CoreProject настроен сделать следующее:
-get Последние
-Build падение падение зоны (что-то вроде \\ SERVER \ DropZone \ CoreProjectBuildNameAndNumber)
-Drop копируется в папку в зоне переадресации (что-то вроде \\ SERVER \ DropZone \ Latest \ CoreProject)
Сценарий TFSBuild для AppProject настроен на выполнение следующих задач:
-get Последние
-Проверят файлы в папке SharedBinaries
-CoPY файлов из \\ SERVER \ DropZone \ Последних \ CoreProject
-Build
-Drop уронить зоны (что-то вроде \\ SERVER \ DropZone \ AppProjectBuildNameAndNumber)
-Если сборка выполнена успешно, сборка копируется в зону папок папки (что-то вроде \\ SERVER \ DropZone \ Latest \ AppP roject), а файлы в SharedBinaries отмечены в
-Если сборка не удалась, файлы, скопированные в SharedBinaries, были отменены.
Я нашел, что это работает очень хорошо. AppProject всегда строится с самыми текущими битами от CoreProject, поэтому мы сразу узнаем, есть ли перерыв. Благодаря проверке SharedBinaries в TFS я могу получить конкретную версию и запустить код с теми же DLL из CoreProject, которые были использованы в то время. Кроме того, мне просто нужно получить последнюю информацию, и моя локальная машина также построена с последними битами.
Итак, дайте мне понять, правильно ли я это понимаю. Каждая библиотека, которую вы, ребята, пишете, имеет дополнительный шаг в MSBuild для xcopy файлов в стандартное местоположение? Похоже, в какой-то момент я буду публиковать следующий вопрос, когда я перейду к проблемам сборки Debug vs Release. – BuddyJoe
Мы просто добавляем команды xcopy на наш шаг .vsproj post-build, который копирует целевой файл в папку двоичных файлов (используя пути, относящиеся к проекту, то есть из памяти что-то вроде «xcopy $ (TargetPath) .. \ .. \ Libraries \ Бинарники \ $ (ConfigurationName) ") –