次の方法で共有


最初にビルドする 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