CallTarget タスク
プロジェクト ファイル内で指定されたターゲットを呼び出します。
タスク パラメーター
CallTarget
タスクのパラメーターの説明を次の表に示します。
パラメーター | 説明 |
---|---|
RunEachTargetSeparately |
省略可能な Boolean 型の入力パラメーターです。true の場合は、MSBuild エンジンがターゲットごとに 1 回呼び出されます。 false の場合は、MSBuild エンジンがすべてのターゲットをビルドするために 1 回呼び出されます。 既定値は false です。 |
TargetOutputs |
省略可能な ITaskItem[] 型の出力パラメーターです。ビルドされたすべてのターゲットの出力が含まれます。 |
Targets |
省略可能な String[] 型のパラメーターです。ビルドする 1 つまたは複数のターゲットを指定します。 |
UseResultsCache |
省略可能な Boolean 型のパラメーターです。true の場合、キャッシュされた結果が返されます (存在する場合)。メモ MSBuild タスクが実行された場合、その出力は、ビルド項目のリストとしてスコープ ((ProjectFileName, GlobalProperties)[TargetNames]) にキャッシュされます。 |
解説
Targets
に指定されたターゲットのビルドが失敗し、RunEachTargetSeparately
が true
に設定されている場合、タスクは残りのターゲットのビルドを続行します。
既定のターゲットをビルドする場合は、MSBuild タスクを使用して、Projects
パラメーターを $(MSBuildProjectFile)
と等しくなるように設定します。
CallTarget
を使用すると、MSBuild によって、呼び出されたターゲットが呼び出し元の同じスコープではなく、新しいスコープで評価されます。 つまり、呼び出されたターゲットで項目やプロパティが変更された場合、それは呼び出し側のターゲットには表示されません。 呼び出し側のターゲットに情報を渡すには、TargetOutputs
出力パラメーターを使用します。
上記のパラメーター以外に、このタスクは TaskExtension クラスからパラメーターを継承します。このクラス自体は、Task クラスから継承されます。 これらの追加のパラメーターの一覧とその説明については、「TaskExtension Base Class」を参照してください。
例
次の例では、CallOtherTargets
内から TargetA
を呼び出します。
<Project DefaultTargets="CallOtherTargets"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="CallOtherTargets">
<CallTarget Targets="TargetA"/>
</Target>
<Target Name="TargetA">
<Message Text="Building TargetA..." />
</Target>
</Project>