Элемент Target (MSBuild)

Обновлен: Ноябрь 2007

Содержит набор целевых объектов для MSBuild, подлежащих последовательному выполнению.

<Target Name="Target Name"
        DependsOnTargets="DependentTarget"
        Inputs="Inputs"
        Outputs="Outputs"
        Condition="'String A' == 'String B'">
    <Task>... </Task>
    <OnError... />
</Target>

Атрибуты и элементы

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

Атрибуты

Атрибут

Описание

Name

Обязательный атрибут.

Имя целевого объекта.

DependsOnTargets

Необязательный атрибут.

Целевые объекты, которые должны быть выполнены перед тем, как можно будет выполнить этот целевой объект или произвести анализ зависимостей высшего уровня. Несколько целевых объектов отделяются друг от друга точкой с запятой.

Inputs

Необязательный атрибут.

Входные данные для этого целевого объекта. Элементы внутри этого атрибута используются как входные данные при анализе зависимостей высшего уровня.

Outputs

Необязательный атрибут.

Ожидаемые выходные данные этого целевого объекта. Для создания выходных элементов можно преобразовать входные элементы. Дополнительные сведения о преобразованиях см. в разделе Преобразования MSBuild.

Condition

Необязательный атрибут.

Проверяемое условие. Если проверяемое условие имеет значение false, целевой объект не выполняет тело целевого объекта или другие целевые объекты, заданные атрибутом DependsOnTargets. Дополнительные сведения об условиях см. в разделе Условия MSBuild.

Дочерние элементы

Элемент

Описание

Task

Создает и запускает экземпляр задачи MSBuild. Задача может содержать в цели любое число задач, включая ноль.

OnError

Вызывает выполнение одного или нескольких целевых объектов, если атрибуту ContinueOnError присвоено значение false для задачи, вызвавшей сбой. В целевом объекте может содержаться любое число элементов OnError, включая ноль. Если используются элементы OnError, то они должны быть последними в элементе Target.

Родительские элементы

Элемент

Описание

Project

Обязательный корневой элемент файла проекта MSBuild.

Заметки

Первый целевой объект, подлежащий выполнению, задается во время выполнения. Целевые объекты могут иметь зависимости от других целевых объектов. Например, целевой объект для развертывания зависит от целевых объектов компиляции. Программа MSBuild обрабатывает зависимости в порядке их расположения в атрибуте DependsOnTargets слева направо. Дополнительные сведения см. в разделе Цели MSBuild.

Целевой объект выполняется только один раз в ходе построения, даже если более одного целевого объекта имеют зависимости от этого целевого объекта.

Если целевой объект пропускается с связи с тем, что атрибут Condition имеет значение false, его можно выполнить, если его вызов осуществляется позже в построении, и при этом его атрибут Condition будет иметь значение true.

Пример

В следующем примере кода показан элемент Target, выполняющий задачу Csc.

<Target Name="Compile" DependsOnTarget="Resources" >
    <Csc Sources="@(CSFile)"
          TargetType="library"
          Resources="@(CompiledResources)"
          EmitDebugInformation="$(includeDebugInformation)"
          References="@(Reference)"
          DebugType="$(debuggingType)" >
        <Output TaskParameter="OutputAssembly"
                  ItemName="FinalAssemblyName" />
    </Csc>
</Target>

См. также

Основные понятия

Цели MSBuild

Справочные сведения о схеме файлов проектов MSBuild