В TFS Build (MSBuild), как я могу иметь только определенный проект в моей папке для перетаскивания

"Из коробки" сборка в TFS соберет полное решение и положит все "находки" из всего своего проекта в папку drop.

Как я могу сделать так, чтобы только результаты одного «основного» проекта попадали в папку для перетаскивания, зачем все еще компилировать все остальные проекты (от которых это зависит)?


person urig    schedule 19.07.2010    source источник
comment
Что бы вы хотели, чтобы произошло с другими проектами? Конечно, если ваш проект зависит от dll, то dll необходимо поместить в место, где его может увидеть ваш основной проект.   -  person Paul Michaels    schedule 19.07.2010
comment
Несущественные результаты других проектов должны раствориться в воздухе :). Обычно это проекты для неавтоматизированных тестов или инструментов. Кроме того, мне было бы полезно отделить результаты проекта модульного тестирования от производственного кода. Ведь когда я доставляю, я не хочу, чтобы юнит-тесты были в доставке.   -  person urig    schedule 29.07.2010


Ответы (2)


Не совсем уверен, что это то, что вы хотите, но попробуйте:

<Target Name="AfterBuild">
    <Copy SourceFiles="c:\drop\myfile.dll"  DestinationFiles="c:\temp"  />
    <Delete Files="c:\drop\myfile.dll" />
</Target>

В основном, перемещая их подальше от места сброса после сборки.

person Paul Michaels    schedule 19.07.2010
comment
Спасибо. Это перспективное направление. Но это потребовало бы от меня указать каждый файл, который мне нужно сохранить. Нет ли способа указать интересующий меня проект, чтобы его продукты автоматически сохранялись для меня? :) - person urig; 20.07.2010
comment
Вы можете рекурсивно копировать файлы, если это то, что вы имеете в виду: блоги .msdn.com/b/msbuild/archive/2005/11/07/490068.aspx - person Paul Michaels; 20.07.2010
comment
Спасибо еще раз. Я не думаю, что рекурсия помогает мне. Что мне нужно, так это фильтр — что-то, что даст мне только те библиотеки DLL и файлы, которые получены в результате прямой компиляции основного проекта. Несущественные результаты всех других проектов в решении загромождают мою папку. - person urig; 29.07.2010

Вам необходимо создать отдельные решения для ваших проектов. Таким образом, вы можете контролировать, какой проект должен попасть в папку Drop в одном из решений, а какой нет в другом решении.

person Julius A    schedule 19.07.2010
comment
Не совсем то, что мне нужно. Проекты находятся в решении не просто так — от них зависит основной проект. - person urig; 19.07.2010