注
このページは Visual Studio 2019 に適用されます。 Visual Studio 2022 を使用している場合、.NET Core および .NET 5 以降のプロジェクトのプロジェクト デザイナーはまったく異なります。 ビルド イベントの指定 (C#) を参照してください。
プロジェクト デザイナーの [ビルド イベント] ページを使用して、ビルド構成手順を指定します。 ビルド後のイベントを実行する条件を指定することもできます。 詳細については、「 方法: ビルド イベントを指定する (C#) 」および 「方法: ビルド イベントを指定する (Visual Basic)」を参照してください。
UI要素リスト
構成
このコントロールは、このページでは編集できません。 このコントロールの詳細については、「 ビルド ページ、プロジェクト デザイナー (C#)」を参照してください。
プラットフォーム
このコントロールは、このページでは編集できません。 このコントロールの詳細については、「 ビルド ページ、プロジェクト デザイナー (C#)」を参照してください。
ビルド前イベントのコマンド ライン
ビルドの開始前に実行するコマンドを指定します。 長いコマンドを入力するには、[ ビルド前の編集 ] をクリックして、[ ビルド前のイベント/ビルド後のイベント コマンド ライン] ダイアログ ボックスを表示します。
注
プロジェクトが最新で、ビルドがトリガーされない場合、ビルド前イベントは実行されません。
ビルド後のイベント コマンド ライン
ビルドの終了後に実行するコマンドを指定します。 長いコマンドを入力するには、[ ビルド後の編集 ] をクリックして、[ ビルド前のイベント/ビルド後のイベント コマンド ライン] ダイアログ ボックスを表示します。
注
call
ファイルを実行するすべてのビルド後コマンドの前に、.bat
ステートメントを追加します。 たとえば、call C:\MyFile.bat
または call C:\MyFile.bat call C:\MyFile2.bat
です。
ビルド後イベントを実行する
次の表に示すように、ビルド後のイベントを実行するための次の条件を指定します。
選択肢 | 結果 |
---|---|
いつも | ビルド後のイベントは、ビルドが成功したかどうかに関係なく実行されます。 |
ビルドが成功した場合 | ビルド後のイベントは、ビルドが成功した場合に実行されます。 したがって、ビルドが成功する限り、-date up-toプロジェクトでもイベントが実行されます。 |
ビルドでプロジェクトの出力が更新されたとき | ビルド後のイベントは、コンパイラの出力ファイル (.exe または .dll ) が前のコンパイラ出力ファイルと異なる場合にのみ実行されます。 したがって、プロジェクトが -date up-to場合、ビルド後のイベントは実行されません。 |
プロジェクト ファイル内
以前のバージョンの Visual Studio では、IDE で PreBuildEvent または PostBuildEvent の設定を変更すると、Visual Studio によってプロジェクト ファイルに PreBuildEvent
または PostBuildEvent
プロパティが追加されます。 たとえば、IDE の PreBuildEvent コマンド ライン設定が次の場合です。
"$(ProjectDir)PreBuildEvent.bat" "$(ProjectDir)..\" "$(ProjectDir)" "$(TargetDir)"
その後、プロジェクト ファイルの設定は次のようになります。
<PropertyGroup>
<PreBuildEvent>"$(ProjectDir)PreBuildEvent.bat" "$(ProjectDir)..\" "$(ProjectDir)" "$(TargetDir)" />
</PropertyGroup>
.NET Core プロジェクトの場合、Visual Studio はPreBuild
と PostBuild
の設定にまたはという名前の MSBuild ターゲットを追加します。 これらのターゲットでは、MSBuild で認識される BeforeTargets 属性と AfterTargets 属性が使用されます。 たとえば、前の例では、Visual Studio によって次のコードが生成されるようになりました。
<Target Name="PreBuild" BeforeTargets="PreBuildEvent">
<Exec Command=""$(ProjectDir)PreBuildEvent.bat" "$(ProjectDir)..\" "$(ProjectDir)" "$(TargetDir)"" />
</Target>
ビルド後のイベントの場合は、名前 PostBuild
を使用し、属性 AfterTargets
を PostBuildEvent
に設定します。
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
<Exec Command="echo Output written to $(TargetDir)" />
</Target>
注
これらのプロジェクト ファイルは、SDK スタイルのプロジェクトをサポートするために変更されました。 プロジェクト ファイルを古い形式から SDK スタイルの形式に手動で移行する場合は、 PreBuildEvent
プロパティと PostBuildEvent
プロパティを削除し、前のコードに示すように PreBuild
ターゲットと PostBuild
ターゲットに置き換える必要があります。 プロジェクトが SDK スタイルのプロジェクトかどうかを確認する方法については、「 プロジェクト形式の確認」を参照してください。