2010-12-27 2 views
1

У меня есть TFS 2008 TeamBuild создана и я строю несколько решений:Построение конкретной версии решения в TFS сборки Team проекта

  • Раствор А
  • Раствор B
  • Решение C

Я хотел бы построить решения A и B с последней версией исходного элемента управления, но для решения C я хотел бы создать определенную версию, определенную меткой TFS.

Теперь я знаю о:

  • /p:GetVersion:LmyLabel аргумент для TeamBuild
  • <PropertyGroup><GetVersion>LmyLabel</GetVersion><PropertyGroup> элемента в файле .proj

Но это относится ко всему процессу сборки и всех решений.

Мне нужно это только для одного из моих решений, в идеале в элементе SolutionToBuild.

Что-то вроде этого:

<SolutionToBuild clude="$(BuildProjectFolderPath)/SolutionA.sln"> 
    <Targets></Targets> 
    <Properties></Properties> 
</SolutionToBuild> 
<SolutionToBuild clude="$(BuildProjectFolderPath)/SolutionB.sln"> 
    <Targets></Targets> 
    <Properties></Properties> 
</SolutionToBuild> 
<SolutionToBuild clude="$(BuildProjectFolderPath)/SolutionC.sln"> 
    <Targets></Targets> 
    <Properties>GetVersion=LmyLabel</Properties> 
</SolutionToBuild> 

Любые идеи?

ответ

0

Когда вы используете TFS 2010, вы можете построить с полки. Это означает, что система сначала получает всю последнюю версию файлов, а затем отключает полку.

Однако не идеально, вы можете играть с этим путем создания рабочего пространства, основанным на версию вы хотите построить для решения C. Затем создайте shelveset, содержащие файлы, измененные для раствора А и В.

Другого варианта иметь 3 разных определения построения ....

+0

Различные определения построения? Но, мне нужно как-то их поставить в очередь? Я знаю, что для этого есть некоторые варианты, но я не уверен, должен ли я идти именно так. Я упростил структуру решения в своих вопросах ... – muerte

+0

Вы можете использовать триггер «на каждом контроле». Если у вас разные папки, где хранится ваше решение, это возможно. –

Смежные вопросы