專案設計工具、建置事件 (C#)
使用 [專案設計工具] 的 [建置事件] 頁面,以指定組建組態指示。 您也可以指定執行任何建置後事件的條件。 如需詳細資訊,請參閱如何:指定建置事件 (C#) 和如何:指定建置事件 (Visual Basic)。
UIElement 清單
Configuration
無法在此頁面中編輯這個控制項。 如需此控制項的描述,請參閱專案設計工具、建置頁面 (C#)。
平台
在這個頁面上無法編輯此控制項。 如需此控制項的描述,請參閱專案設計工具、建置頁面 (C#)。
建置前事件命令列
指定要在建置開始前執行的任何命令。 若要鍵入長命令,請按一下 [建置前進行編輯] 顯示建置前事件/建置後事件命令列對話方塊。
注意
如果專案是最新狀態,而且未觸發任何建置,則建置前事件不會執行。
建置後事件命令列
指定要在建置結束後執行的任何命令。 若要鍵入長命令,請按一下 [建置後進行編輯] 顯示 [建置前事件/建置後事件命令列] 對話方塊。
注意
在執行 .bat 檔案的所有建置命令前方,加入 call
陳述式。 例如,call C:\MyFile.bat
或 call C:\MyFile.bat call C:\MyFile2.bat
。
執行建置後事件
指定要執行建置後事件的下列條件,如下表所示。
選項 | 結果 |
---|---|
永遠 | 不論建置是否成功,都會執行建置後事件。 |
建置成功時 | 如果建置成功,則會執行建置後事件。 因此,即使專案是最新狀態,但只要建置成功,就會執行事件。 |
當組建更新專案輸出時 | 只有在編譯器的輸出檔 (.exe 或 .dll) 與先前的編譯器輸出檔不同時,才會執行建置後事件。 因此,如果專案是最新狀態,就不會執行建置後事件。 |
在專案檔中
在舊版 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 2019 (和較新更新中的 Visual Studio 2017) 會新增名為 PreBuild
或 PostBuild
的 MSBuild 目標,用於 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 樣式專案,請參閱檢查專案格式。