Target 要素 (MSBuild)

更新 : 2007 年 11 月

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 タスクのインスタンスを作成し、実行します。ターゲットには、タスクを 0 個以上指定できます。

OnError

失敗したタスクに対する ContinueOnError 属性が false である場合に、1 つまたは複数のターゲットを実行します。ターゲットには、OnError 要素を 0 個以上指定できます。OnError 要素が存在する場合、これらの要素は Target 要素内の最後の要素である必要があります。

親要素

要素

説明

Project

MSBuild プロジェクト ファイルの必須のルート要素です。

解説

実行する最初のターゲットは、実行時に指定します。各ターゲットは他のターゲットに対する依存関係を持つ場合があります。たとえば、配置用のターゲットは、コンパイル用のターゲットに依存します。MSBuild エンジンは、DependsOnTargets 属性に表示される順序で、依存関係を左から右に実行します。詳細については、「MSBuild ターゲット」を参照してください。

あるターゲットに複数のターゲットが依存関係を持つ場合でも、ターゲットは 1 回のビルド中に 1 度だけ実行されます。

Condition 属性が false と評価されたためにターゲットがスキップされた場合でも、そのターゲットがその後ビルドで呼び出され、Condition 属性がその時点で true と評価された場合は、そのターゲットを実行できます。

使用例

次のコード例は、Csc タスクを実行する Target 要素を示しています。

<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 プロジェクト ファイル スキーマ リファレンス