最初にビルドするターゲットを指定する
プロジェクト ファイルには、プロジェクトのビルド方法を定義する 1 つ以上の Target
要素を含めることができます。 Microsoft Build Engine (MSBuild) エンジンでは、プロジェクト ファイルに DefaultTargets
属性や InitialTargets
属性が含まれている場合や、コマンド ラインで -target スイッチを使ってターゲットが指定されている場合を除き、見つけた最初のプロジェクトとすべての依存関係がビルドされます。
InitialTargets 属性を使用する
Project
要素の InitialTargets
属性は、最初に実行するターゲットを指定します。これは、ターゲットがコマンド ラインまたは DefaultTargets
属性に指定されている場合でも変わりありません。
1 つの初期ターゲットを指定するには
Project
要素のInitialTargets
属性の既定のターゲットを指定します。 たとえば次のような点です。<Project InitialTargets="Clean">
ターゲットを順番に一覧表示し、セミコロンを使って各ターゲットを区切ることにより、
InitialTargets
属性で複数の初期ターゲットを指定できます。 リスト内のターゲットは、順番に実行されます。
2 つ以上の初期ターゲットを指定するには
Project
要素のInitialTargets
属性で、セミコロンで区切られた初期ターゲットを一覧表示します。 たとえば、Clean
ターゲットを実行してからCompile
ターゲットを実行する場合は、次を入力します。<Project InitialTargets="Clean;Compile">
DefaultTargets 属性を使用する
Project
要素の DefaultTargets
属性は、ターゲットがコマンド ラインで明示的に指定されていない場合にビルドするターゲット (複数可) を指定します。 ターゲットが InitialTargets
属性と DefaultTargets
属性の両方で指定され、コマンド ラインではターゲットが指定されていない場合、MSBuild では、InitialTargets
属性で指定されたターゲットが実行され、次に DefaultTargets
属性で指定されたターゲットが実行されます。
1 つの既定のターゲットを指定するには
Project
要素のDefaultTargets
属性の既定のターゲットを指定します。 たとえば次のような点です。<Project DefaultTargets="Compile">
ターゲットを順番に一覧表示し、セミコロンを使って各ターゲットを区切ることにより、
DefaultTargets
属性で複数の既定のターゲットを指定できます。 リスト内のターゲットは、順番に実行されます。
2 つ以上の既定のターゲットを指定するには
Project
要素のDefaultTargets
属性で、セミコロンで区切られた既定のターゲットを一覧表示します。 たとえば、Clean
ターゲットを実行してからCompile
ターゲットを実行する場合は、次を入力します。<Project DefaultTargets="Clean;Compile">
-target スイッチを使用する
既定のターゲットがプロジェクト ファイルで定義されていない場合、またはその既定のターゲットを使用しない場合は、コマンド ライン スイッチ -target を使用して別のターゲットを指定できます。 DefaultTargets
属性で指定されたターゲットではなく、-target スイッチで指定されたターゲットが実行されます。 InitialTargets
属性で指定されたターゲットが常に最初に実行されます。
最初に既定のターゲット以外のターゲットを使用する
-target コマンド ライン スイッチを使用してターゲットを最初のターゲットとして指定します。 たとえば次のような点です。
msbuild file.proj -target:Clean
最初に既定のターゲット以外の複数のターゲットを使用するには
-target コマンド ライン スイッチを使用して、セミコロンまたはコンマで区切られたターゲットを一覧表示します。 次に例を示します。
msbuild <file name>.proj -t:Clean;Compile