Фактическое BuildDropLocation должно быть доступно на общем сетевом ресурсе. Расположение публикации используется клиентами и уровнем приложений TFS при публикации результатов тестирования. Он также должен быть доступен как клиентам, так и компьютеру уровня приложений TFS при доступе к результатам сборки. В рамках этапа хранилища данных компьютер TFS Application Tier получит доступ к результатам компоновки через местоположение отбрасывания, чтобы найти файлы результатов теста для добавления в хранилище.
Тем не менее, при условии, что ваш сервер сборки является той же машиной , на которой размещен ваш общий ресурс для размещения размещения, и он всегда будет одним и тем же компьютером, тогда вы можете пропустить шаг удаления из TFSBuild.proj. Одним из решений, вероятно, было бы сочетание тех, которые обозначены Тодд и Чад , т.е. что-то вроде:
<SkipDropBuild>true</SkipDropBuild>
<Target Name ="AfterDropBuild">
<Exec Command="move $(BinariesRoot)\Release d:\BuildOutput\$(BuildNumber)\Release"/>
</Target>
Обратите внимание, что на самом деле вам не нужно жестко кодировать часть «Релиз», а иметь возможность получить ее из свойств конфигурации - однако у меня нет файла моих целей TeamBuild, поэтому я не могу точно сказать, что это в данный момент, поэтому я посмотрю его, когда вернусь к своему столу, и соответствующим образом отредактирую этот ответ.
Тем не менее, при этом существует довольно много рисков.
- Вы должны убедиться, что все пути к файлам выстроены точно правильно или что такие вещи, как просмотр журнала сборки или заполнение хранилища TFS результатами теста, могут перестать работать
- Вы будете жестко закодировать места сборки и сброса, чтобы всегда существовать на одной машине. Если кто-то попытается скомпоновать ваш файл TFSBuild.proj на другом компьютере, то все будет работать не так, как он ожидал
- Если кто-то редактирует свойство местоположения отбрасывания в определении сборки, он должен знать, чтобы сделать соответствующее изменение в файле TFSBuild.proj
Поэтому из-за проблем с обслуживаемостью, связанных с этим подходом, я бы не рекомендовал его в подавляющем большинстве случаев. Было бы целесообразно провести тест и посмотреть, сколько времени на самом деле это экономит, чтобы определить, стоит ли оптимизировать ваши обстоятельства.