Поделиться через


Настройка группы элементов SolutionToBuild

Файл проекта Team Foundation Build, TFSBuild.proj, может быть настроен путем передачи в построение свойств и целей в группе элементов SolutionToBuild. Кроме того, в группе элементов SolutionToBuild вы можете добавлять в построение решения. Дополнительные сведения о файле TFSBuild.proj см. в разделе Описание файлов конфигурации Team Foundation Build.

Необходимые разрешения

Для выполнения этих процедур для разрешений Вернуть и Извлечь следует задать значение Разрешить.

Редактирование файла проекта Team Foundation Build

Перед редактированием файла TFSBuild.proj вы должны извлечь его из системы управления версиями.

Редактирование файла TFSBuild.proj

  1. В меню Вид выберите команду Другие окна, а затем щелкните элемент Обозреватель управления исходным кодом.

  2. В обозревателе управления исходным кодом разверните командный проект в панели Папки и выберите TeamBuildTypes.

  3. Чтобы получить последнюю версию TFSBuild.proj, нажмите правую кнопку на папке TeamBuildType, затем нажмите Получить последнюю версию.

    Это позволяет сделать файлы доступными для извлечения и правки.

  4. В панели просмотра дважды щелкните имя определения построения, которое планируется изменить, затем щелкните правой кнопкой мыши файл TFSBuild.proj и выберите команду Извлечь для изменения. В диалоговом окне Извлечение выберите пункт Отсутствует – разрешить общий доступ при извлечении и нажмите кнопку Извлечь.

    Рядом с файлом "TFSBuild.proj" появится красный маркер, указывающий на состояние файла в системе управления версиями.

  5. Сделайте двойной щелчок на файле TFSBuild.proj, чтобы открыть его в XML-редакторе Visual Studio.

Передача свойств в группу элементов SolutionToBuild

Team Foundation Build включает два зарезервированных свойства, которые позволяют вам настроить определения построений:

  • CustomPropertiesForClean передает пользовательские значения во все решения при вызове Team Foundation Build цели Clean.

  • CustomPropertiesForBuild передает пользовательские значения во все решения при вызове Team Foundation Build своей цели по умолчанию (обычно Build).

Передача свойств в группу элементов SolutionToBuild

  1. Найдите тэг <SolutionToBuild> в файле TFSBuild.proj.

  2. Чтобы добавить настраиваемое свойство к цели по умолчанию, введите между тэгами <SolutionToBuild> и </SolutionToBuild> следующий текст. Пример.

    <SolutionToBuild Include="$(SolutionRoot)\HelloWorld.sln">
      <CustomPropertiesForBuild>
        Context=TeamBuild;RootDirectory=$(SolutionDir)
      </CustomPropertiesForBuild>
    </SolutionToBuild>
    

    Этот XML-код задает свойство построения RootDirectory равным значению по умолчанию из свойства SolutionDir.

    Тот же синтаксис используется для передачи пользовательских свойств в свойство CustomPropertiesForClean.

  3. (Необязательно.) Можно передать пользовательские свойства в отдельные элементы 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).

Удаление или добавление решений

  1. Найдите тэг <SolutionToBuild> в файле TFSBuild.proj.

    Если определение настроено на построение только одного решения, запись SolutionToBuild будет выглядеть аналогично следующему XML-коду:

    <ItemGroup>
    <SolutionToBuild Include="$(BuildProjectFolderPath)\path\MySolution.sln">
      <Targets></Targets>
      <Properties></Properties>
    </SolutionToBuild>
    </ItemGroup>
    
  2. Чтобы добавить другое решение, добавьте еще один набор тэгов <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>
    
  3. Чтобы удалить решение, удалите тэги <SolutionToBuild></SolutionToBuild> и все, находящееся между ними для решения, которое вы больше не хотите включать в построение.

Вызов пользовательской цели в группе элементов SolutionToBuild

Вы можете вызывать пользовательские цели для отдельных элементов SolutionToBuild, задав их в метаданных.

Чтобы вызвать пользовательскую цель в группе элементов SolutionToBuild:

  1. Найдите тэг <SolutionToBuild> в файле TFSBuild.proj.

  2. Используйте следующий синтаксис для вызова цели и передачи значений свойств.

    <SolutionToBuild Include="$(BuildProjectFolderPath)\path\MySolution.sln">
      <Targets>MyCustomTarget1;MyCustomTarget2</Targets>
      <Properties>Property1=Value1;PropertyTwo=Value2</Properties>
    </SolutionToBuild>
    

    Этот XML-код вызывает цели MyCustomTarget1 и MyCustomTarget2 и передает свойства Property1 и Property2.

См. также

Задачи

Создание базового определения построения

Другие ресурсы

Цели, задачи и свойства Team Foundation Build