Как использовать выходные местоположения проекта по умолчанию в определении сборки TFS 2013?

У меня есть решение, в котором есть несколько проектов VC++. Я пытаюсь заставить TFS делать еженедельные сборки. Я настроил контроллер и агент сборки TFS. Я создал определение сборки с помощью файла DefaultTemplate.xaml и могу успешно собрать некоторые проекты.

Проблема в том, что мои проекты зависят от некоторых библиотек, которые уже зарегистрированы в папках отладки/выпуска. TFS пытается поместить выходные данные проекта (dll и exe) в каталог $(SolutionDir)\Binaries. Поскольку в этом расположении нет зависимых библиотек, сборка TFS завершается ошибкой.

Что я хотел бы сделать, так это использовать свои собственные выходные местоположения проекта и каким-то образом скопировать выходные файлы куда-нибудь на сервер.

Как я могу это сделать?

Спасибо


person cbr    schedule 17.02.2017    source источник


Ответы (2)


  1. Не рекомендуется возвращать библиотеки в TFS, вы можете использовать Nuget для восстановления пакетов.

  2. Для выходных данных сборки вы можете указать папку для сброса в определении сборки и скопировать выходные данные в папку для сброса.

введите здесь описание изображения

  1. Вы также можете вернуть сценарий, который копирует выходные данные, и указать путь к сценарию после сборки в определении сборки XAML. Этот скрипт собирает некоторые типичные двоичные типы из типичных местоположений и копирует их в папку, из которой копирует TFBuild, и кладет в вашу промежуточную локацию. Дополнительные сведения о запуске сценария в процессе сборки XAML см. на веб-сайте: https://msdn.microsoft.com/library/dn376353%28v=vs.120%29.aspx
person Cece Dong - MSFT    schedule 20.02.2017
comment
(1) мне не помогает. Зависимые библиотеки не являются широко известными библиотеками. Они отраслевые, дорогие. Вот как они это делают. (2) Я уже делал это. (3) Это решило мою проблему. Я использовал сценарии PowerShell, как вы указали. Однако в моем шаблоне по умолчанию не было пути сценария Post Build. Итак, мне пришлось редактировать свой шаблон и вызывать скрипты. Спасибо! - person cbr; 21.02.2017

Я бы предложил отредактировать определение сборки. В разделе «Процесс» задайте для аргументов MSBuild значение

/p:GenerateProjectSpecificOutputFolder=true

Следующим образом:

введите здесь описание изображения

person DeJaVo    schedule 18.02.2017
comment
Используя эту опцию, просто поместите dll в каталог с именем своего проекта в том же месте. - person cbr; 21.02.2017