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 の条件」を参照してください。 |
子要素
要素 |
説明 |
---|---|
MSBuild タスクのインスタンスを作成し、実行します。ターゲットには、タスクを 0 個以上指定できます。 |
|
失敗したタスクに対する ContinueOnError 属性が false である場合に、1 つまたは複数のターゲットを実行します。ターゲットには、OnError 要素を 0 個以上指定できます。OnError 要素が存在する場合、これらの要素は Target 要素内の最後の要素である必要があります。 |
親要素
要素 |
説明 |
---|---|
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>