Настройка группы элементов SolutionToBuild
Файл проекта Team Foundation Build, TFSBuild.proj, может быть настроен путем передачи в построение свойств и целей в группе элементов SolutionToBuild. Кроме того, в группе элементов SolutionToBuild вы можете добавлять в построение решения. Дополнительные сведения о файле TFSBuild.proj см. в разделе Описание файлов конфигурации Team Foundation Build.
Необходимые разрешения
Для выполнения этих процедур для разрешений Вернуть и Извлечь следует задать значение Разрешить.
Редактирование файла проекта Team Foundation Build
Перед редактированием файла TFSBuild.proj вы должны извлечь его из системы управления версиями.
Редактирование файла TFSBuild.proj
В меню Вид выберите команду Другие окна, а затем щелкните элемент Обозреватель управления исходным кодом.
В обозревателе управления исходным кодом разверните командный проект в панели Папки и выберите TeamBuildTypes.
Чтобы получить последнюю версию TFSBuild.proj, нажмите правую кнопку на папке TeamBuildType, затем нажмите Получить последнюю версию.
Это позволяет сделать файлы доступными для извлечения и правки.
В панели просмотра дважды щелкните имя определения построения, которое планируется изменить, затем щелкните правой кнопкой мыши файл TFSBuild.proj и выберите команду Извлечь для изменения. В диалоговом окне Извлечение выберите пункт Отсутствует – разрешить общий доступ при извлечении и нажмите кнопку Извлечь.
Рядом с файлом "TFSBuild.proj" появится красный маркер, указывающий на состояние файла в системе управления версиями.
Сделайте двойной щелчок на файле TFSBuild.proj, чтобы открыть его в XML-редакторе Visual Studio.
Передача свойств в группу элементов SolutionToBuild
Team Foundation Build включает два зарезервированных свойства, которые позволяют вам настроить определения построений:
CustomPropertiesForClean передает пользовательские значения во все решения при вызове Team Foundation Build цели Clean.
CustomPropertiesForBuild передает пользовательские значения во все решения при вызове Team Foundation Build своей цели по умолчанию (обычно Build).
Передача свойств в группу элементов SolutionToBuild
Найдите тэг <SolutionToBuild> в файле TFSBuild.proj.
Чтобы добавить настраиваемое свойство к цели по умолчанию, введите между тэгами <SolutionToBuild> и </SolutionToBuild> следующий текст. Пример.
<SolutionToBuild Include="$(SolutionRoot)\HelloWorld.sln"> <CustomPropertiesForBuild> Context=TeamBuild;RootDirectory=$(SolutionDir) </CustomPropertiesForBuild> </SolutionToBuild>
Этот XML-код задает свойство построения RootDirectory равным значению по умолчанию из свойства SolutionDir.
Тот же синтаксис используется для передачи пользовательских свойств в свойство CustomPropertiesForClean.
(Необязательно.) Можно передать пользовательские свойства в отдельные элементы SolutionToBuild, указав их в метаданных.
Пример.
<SolutionToBuild Include="$(SolutionRoot)\HelloWorld.sln"> <Properties> OutDir=$(BinariesRoot)\$(Solution)\$(Platform)\$(Configuration) </Properties> </SolutionToBuild>
Этот XML-код задает выходной каталог для определения или определений построений, связанных с данным файлом TFSBuild.proj.
Примечание
Добавление тэгов CustomPropertiesForBuild и CustomPropertiesForClean приводит к возникновению предупреждений при проверке на соответствие XML-схеме в Visual Studio.Эти предупреждения можно спокойно игнорировать.
Добавление и удаление решений из группы элементов SolutionToBuild
Можно изменить группу элементов SolutionToBuild, добавив или удалив решения, созданные определением построения или определениями, связанными с файлом проекта Team Foundation Build (TFSBuild.proj).
Удаление или добавление решений
Найдите тэг <SolutionToBuild> в файле TFSBuild.proj.
Если определение настроено на построение только одного решения, запись SolutionToBuild будет выглядеть аналогично следующему XML-коду:
<ItemGroup> <SolutionToBuild Include="$(BuildProjectFolderPath)\path\MySolution.sln"> <Targets></Targets> <Properties></Properties> </SolutionToBuild> </ItemGroup>
Чтобы добавить другое решение, добавьте еще один набор тэгов <SolutionToBuild></SolutionToBuild> после открывающего тэга <ItemGroup>, но до закрывающего тэга </ItemGroup>.
<SolutionToBuild Include="$(BuildProjectFolderPath)\path\MySolution.sln"> <Targets></Targets> <Properties></Properties> </SolutionToBuild> <SolutionToBuild Include="$(BuildProjectFolderPath)\path\MySecondSolution.sln"> <Targets></Targets> <Properties></Properties> </SolutionToBuild>
Чтобы удалить решение, удалите тэги <SolutionToBuild></SolutionToBuild> и все, находящееся между ними для решения, которое вы больше не хотите включать в построение.
Вызов пользовательской цели в группе элементов SolutionToBuild
Вы можете вызывать пользовательские цели для отдельных элементов SolutionToBuild, задав их в метаданных.
Чтобы вызвать пользовательскую цель в группе элементов SolutionToBuild:
Найдите тэг <SolutionToBuild> в файле TFSBuild.proj.
Используйте следующий синтаксис для вызова цели и передачи значений свойств.
<SolutionToBuild Include="$(BuildProjectFolderPath)\path\MySolution.sln"> <Targets>MyCustomTarget1;MyCustomTarget2</Targets> <Properties>Property1=Value1;PropertyTwo=Value2</Properties> </SolutionToBuild>
Этот XML-код вызывает цели MyCustomTarget1 и MyCustomTarget2 и передает свойства Property1 и Property2.
См. также
Задачи
Создание базового определения построения