備註
此頁面適用於Visual Studio 2019。 如果您使用 Visual Studio 2022,.NET Core 和 .NET 5 和更新版本的專案設計工具則大不相同。 請參閱 指定建置事件 (C#) 。
使用 [項目設計工具] 的 [建置事件] 頁面來指定組建組態指示。 您也可以指定執行任何建置後事件的條件。 如需詳細資訊,請參閱 如何:指定建置事件 (C#) 和 如何:指定建置事件 (Visual Basic) 。
UIElement 清單
配置
此頁面無法編輯此控制件。 如需此控制元件的描述,請參閱建置 頁面、項目設計工具 (C#) 。
平台
此頁面無法編輯此控制件。 如需此控制元件的描述,請參閱建置 頁面、項目設計工具 (C#) 。
建置前事件命令行
指定要在建置開始之前執行的任何命令。 若要輸入長命令,請按兩下 [編輯建置前] 以顯示 [建置 前事件/建置後事件命令行] 對話方塊。
備註
如果專案為最新狀態且未觸發任何建置,則建置前事件不會執行。
建置後事件命令行
指定要在建置結束後執行的任何命令。 若要輸入長命令,請按兩下 [編輯建置後] 以顯示 建置前事件/建置後事件命令行對話框。
備註
call
在執行檔案的所有建置後命令之前新增 .bat
語句。 例如,call C:\MyFile.bat
或 call C:\MyFile.bat call C:\MyFile2.bat
。
執行建置後事件
指定要執行建置後事件的下列條件,如下表所示。
選項 | 結果 |
---|---|
永遠 | 不論組建成功,建置後事件都會執行。 |
成功建置時 | 如果建置成功,建置後事件就會執行。 因此,即使建置成功,事件也會針對 up-to日期的項目執行。 |
建置更新項目輸出時 | 只有在編譯程式的輸出檔 (.exe 或 .dll ) 與先前編譯程序輸出檔不同時,才會執行建置後事件。 因此,如果專案 up-to-date,建置後事件就不會執行。 |
在項目檔中
在舊版 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
的 MSBuild 目標,或PostBuild
針對 PreBuildEvent 和 PostBuildEvent 設定。 這些目標會使用 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 樣式專案,請參閱 檢查專案格式。