CallTarget タスク

プロジェクト ファイル内で指定されたターゲットを呼び出します。

タスク パラメーター

CallTarget タスクのパラメーターの説明を次の表に示します。

パラメーター 説明
RunEachTargetSeparately 省略可能な Boolean 型の入力パラメーターです。

true の場合は、MSBuild エンジンがターゲットごとに 1 回呼び出されます。 false の場合は、MSBuild エンジンがすべてのターゲットをビルドするために 1 回呼び出されます。 既定値は false です。
TargetOutputs 省略可能な ITaskItem[] 型の出力パラメーターです。

ビルドされたすべてのターゲットの出力が含まれます。
Targets 省略可能な String[] 型のパラメーターです。

ビルドする 1 つまたは複数のターゲットを指定します。
UseResultsCache 省略可能な Boolean 型のパラメーターです。

true の場合、キャッシュされた結果が返されます (存在する場合)。

メモ MSBuild タスクが実行された場合、その出力は、ビルド項目のリストとしてスコープ ((ProjectFileName, GlobalProperties)[TargetNames]) にキャッシュされます。

解説

Targets に指定されたターゲットのビルドが失敗し、RunEachTargetSeparatelytrue に設定されている場合、タスクは残りのターゲットのビルドを続行します。

既定のターゲットをビルドする場合は、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>

関連項目