共用方式為


建置事件頁面,項目設計工具 (C#)

備註

此頁面適用於Visual Studio 2019。 如果您使用 Visual Studio 2022,.NET Core 和 .NET 5 和更新版本的專案設計工具則大不相同。 請參閱 指定建置事件 (C#)

使用 [項目設計工具] 的 [建置事件] 頁面來指定組建組態指示。 您也可以指定執行任何建置後事件的條件。 如需詳細資訊,請參閱 如何:指定建置事件 (C#)如何:指定建置事件 (Visual Basic)

UIElement 清單

配置

此頁面無法編輯此控制件。 如需此控制元件的描述,請參閱建置 頁面、項目設計工具 (C#)

平台

此頁面無法編輯此控制件。 如需此控制元件的描述,請參閱建置 頁面、項目設計工具 (C#)

建置前事件命令行

指定要在建置開始之前執行的任何命令。 若要輸入長命令,請按兩下 [編輯建置前] 以顯示 [建置 前事件/建置後事件命令行] 對話方塊

備註

如果專案為最新狀態且未觸發任何建置,則建置前事件不會執行。

建置後事件命令行

指定要在建置結束後執行的任何命令。 若要輸入長命令,請按兩下 [編輯建置後] 以顯示 建置前事件/建置後事件命令行對話框

備註

call在執行檔案的所有建置後命令之前新增 .bat 語句。 例如,call C:\MyFile.batcall C:\MyFile.bat call C:\MyFile2.bat

執行建置後事件

指定要執行建置後事件的下列條件,如下表所示。

選項 結果
永遠 不論組建成功,建置後事件都會執行。
成功建置時 如果建置成功,建置後事件就會執行。 因此,即使建置成功,事件也會針對 up-to日期的項目執行。
建置更新項目輸出時 只有在編譯程式的輸出檔 (.exe.dll) 與先前編譯程序輸出檔不同時,才會執行建置後事件。 因此,如果專案 up-to-date,建置後事件就不會執行。

在項目檔中

在舊版 Visual Studio 中,當您在 IDE 中變更 PreBuildEventPostBuildEvent 設定時,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 的 MSBuild 目標,或PostBuild針對 PreBuildEvent 和 PostBuildEvent 設定。 這些目標會使用 MSBuild 辨識的 BeforeTargetsAfterTargets 屬性。 例如,針對上述範例,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 ,並將 屬性 AfterTargets 設定為 PostBuildEvent

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

備註

這些項目檔已變更以支援 SDK 樣式的專案。 如果您要手動將項目檔從舊格式移轉至 SDK 樣式格式,您應該刪除 PreBuildEventPostBuildEvent 屬性,並將其取代為 PreBuildPostBuild 目標,如上述程式代碼所示。 若要瞭解如何判斷您的專案是否為 SDK 樣式專案,請參閱 檢查專案格式

另請參閱