サーチ…


備考

MSDNから: ターゲットビルド順序

ターゲットのビルド順序の決定

MSBuildは、次のようにターゲット構築順序を決定します。

  1. InitialTargetsターゲットが実行されます。
  2. / targetスイッチによってコマンドラインで指定されたターゲットが実行されます。コマンドラインでターゲットを指定しないと、DefaultTargetsターゲットが実行されます。どちらも存在しない場合は、最初に検出されたターゲットが実行されます。
  3. ターゲットのCondition属性が評価されます。 Condition属性が存在し、かつfalseと評価された場合、ターゲットは実行されずビルドにそれ以上の影響はありません。
  4. ターゲットが実行される前に、そのDependsOnTargetsターゲットが実行されます。
  5. ターゲットが実行される前に、それをBeforeTargets属性にリストするすべてのターゲットが実行されます。
  6. ターゲットが実行される前に、そのInputs属性とOutputs属性が比較されます。 MSBuildは、出力ファイルが対応する入力ファイルに関して期限切れであると判断した場合、ターゲットを実行します。それ以外の場合、MSBuildはターゲットをスキップします。
  7. ターゲットが実行された後、またはスキップされた後、AfterTargets属性でそれをリストするターゲットが実行されます。

DependsOnTargets

ターゲット(一連の定義Target1 、その後、 Target2の前に実行する必要があります) Target3Target1Target2を実行させるには、 Target3実行要求が必要です。

<Target Name="Target3" DependsOnTargets="Target1;Target2">
</Target>

<Target Name="Target2">
</Target> 

<Target Name="Target1">
</Target> 

アフターターゲット

実行要求によってTarget2がその後に実行されるターゲット( Target1 )を定義します。

<Target Name="Target2" AfterTargets="Target1">
</Target> 

<Target Name="Target1">
</Target> 

BeforeTargets

実行要求によってTarget1が事前に実行されるTarget( Target2 )を定義します。

<Target Name="Target2">
</Target> 

<Target Name="Target1" BeforeTargets="Target2">
</Target> 


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow