最初にビルドする MSBuild ターゲットを指定する
MSBuild プロジェクト ファイルには、プロジェクトのビルド方法を定義する 1 つ以上のターゲットを含めることができます。 MSBuild は、次の場合を除き、検出された最初のターゲットと依存関係を構築します。
Project
要素には、InitialTargets
属性が含まれています。Project
要素には、DefaultTargets
属性が含まれています。- MSBuild コマンドには、ターゲットを指定する
-target
スイッチがあります。
InitialTargets 属性を使用する
Project
要素の InitialTargets
属性は、最初に実行される初期ターゲットを指定します。 コマンド ラインまたは Project
要素の DefaultTargets
属性で MSBuild を使用して指定した任意のターゲットをオーバーライドします。
1 つの初期ターゲットを指定する
Project
要素の InitialTargets
属性に既定のターゲットを指定します。 例えば:
<Project InitialTargets="Clean">
複数の初期ターゲットを指定する
Project
要素の InitialTargets
属性には、複数の初期ターゲットを指定できます。 ターゲットを順番に一覧表示し、セミコロンを使用して各ターゲットを区切ります。 リスト内のターゲットは順番に実行されます。
たとえば、Clean
ターゲットを実行し、次に Compile
ターゲットを実行するには、次のように入力します。
<Project InitialTargets="Clean;Compile">
DefaultTargets 属性を使用する
Project
要素の DefaultTargets
属性は、コマンド ラインでターゲットが明示的に指定されていない場合にビルドされるターゲットを指定します。
Project
要素の InitialTargets
属性と DefaultTargets
属性の両方でターゲットが指定されていて、コマンド ラインでターゲットが指定されていない場合、MSBuild は、InitialTargets
属性で指定されたターゲットの後に、DefaultTargets
属性で指定されたターゲットを実行します。
1 つの既定のターゲットを指定する
Project
要素の DefaultTargets
属性に既定のターゲットを指定します。 例えば:
<Project DefaultTargets="Compile">`
複数の既定のターゲットを指定する
Project
要素の DefaultTargets
属性には、複数の既定のターゲットを指定できます。 既定のターゲットを順番に一覧表示し、セミコロンを使用して各ターゲットを区切ります。 リスト内のターゲットは順番に実行されます。
たとえば、Clean
ターゲットを実行し、次に Compile
ターゲットを実行するには、次のように入力します。
<Project DefaultTargets="Clean;Compile">
-target スイッチを使用して既定のターゲットをオーバーライドする
既定のターゲットがプロジェクト ファイルで定義されていない場合、または定義された既定のターゲットを使用しない場合は、コマンド ライン スイッチ -target
を使用して別のターゲットを指定できます。 -target
スイッチで指定されたターゲットは、Project
要素の DefaultTargets
属性で指定されたターゲットの代わりに実行されます。 InitialTargets
属性で指定されたターゲットは、常に最初に実行されます。
既定のターゲットを 1 つのターゲットでオーバーライドする
-target
コマンド ライン スイッチをコロン (:)とターゲットの名前) で使用して、最初のターゲットとして使用するターゲットを指定します。 例えば:
msbuild file.proj -target:Clean
既定のターゲットを複数のターゲットでオーバーライドする
最初のターゲットとして使用するターゲットの一覧を指定し、コマンド ライン スイッチ -target
セミコロンで区切ります。 例えば:
msbuild <file name>.proj -t:Clean;Compile
関連コンテンツ
- MSBuild の概要
- MSBuild ターゲット
- ビルド をクリーンにする