次の方法で共有


ビルド イベント ページ、プロジェクト デザイナー (C#)

このページは 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 はPreBuildPostBuild の設定にまたはという名前の MSBuild ターゲットを追加します。 これらのターゲットでは、MSBuild で認識される BeforeTargets 属性と AfterTargets 属性が使用されます。 たとえば、前の例では、Visual Studio によって次のコードが生成されるようになりました。

<Target Name="PreBuild" BeforeTargets="PreBuildEvent">
    <Exec Command="&quot;$(ProjectDir)PreBuildEvent.bat&quot; &quot;$(ProjectDir)..\&quot; &quot;$(ProjectDir)&quot; &quot;$(TargetDir)&quot;" />
</Target>

ビルド後のイベントの場合は、名前 PostBuild を使用し、属性 AfterTargetsPostBuildEventに設定します。

<Target Name="PostBuild" AfterTargets="PostBuildEvent">
   <Exec Command="echo Output written to $(TargetDir)" />
</Target>

これらのプロジェクト ファイルは、SDK スタイルのプロジェクトをサポートするために変更されました。 プロジェクト ファイルを古い形式から SDK スタイルの形式に手動で移行する場合は、 PreBuildEvent プロパティと PostBuildEvent プロパティを削除し、前のコードに示すように PreBuild ターゲットと PostBuild ターゲットに置き換える必要があります。 プロジェクトが SDK スタイルのプロジェクトかどうかを確認する方法については、「 プロジェクト形式の確認」を参照してください。

こちらも参照ください