備註
此頁面指的是Visual Studio 2019中的專案設計工具體驗,以及Visual Studio 2022 的 .NET Framework 專案。
使用 [項目設計工具] 的 [ 編譯 ] 頁面來指定編譯指示。 您也可以在此頁面上指定進階編譯程式選項和建置前或建置後事件。
若要存取 [編譯] 頁面,請在 [方案總管] 中選擇項目節點(而非方案節點)。 然後選擇功能表欄上的 [專案]、[屬性]。 當 [項目設計工具] 出現時,按兩下 [ 編譯] 索引標籤。
備註
您的電腦可能會顯示本文中某些 Visual Studio 使用者介面元素的不同名稱或位置。 您可能使用不同的 Visual Studio 版本或不同的環境設定。 如需詳細資訊,請參閱 個人化 IDE。
組態和平臺
下列設定可讓您選取要顯示或修改的組態和平臺。
備註
透過簡化的建置組態,專案系統會決定要建置偵錯或發行版本。 因此,不會顯示 [ 組態 ] 和 [ 平臺 ] 清單。
配置
指定要顯示或修改的組態設定。 這些設定為 [偵錯 ][預設]、[ 發行] 或 [ 所有組態]。 如需詳細資訊,請參閱 瞭解組建組態 和 如何:建立和編輯組態。
平台
指定要顯示或修改的平台設定。 您可以指定 任何 CPU (預設值)、 x64 或 x86。
編譯程式組態選項
下列設定可讓您設定編譯程式組態選項。
建置輸出路徑
指定此項目的組態輸出檔位置。 在此方塊中輸入組建輸出的路徑,或按兩下 [ 瀏覽 ] 按鈕以選取路徑。 請注意,路徑是相對的;如果您輸入絕對路徑,則會將它儲存為相對路徑。 默認路徑為 bin\Debug\ 或 bin\Release\。
透過簡化的建置組態,專案系統會決定要建置偵錯或發行版本。 [偵錯] 功能表 (F5) 的 [組建] 命令,不論您指定的 輸出 路徑為何,都會將組建放在偵錯位置。 不過,[建置] 功能表的 [組建] 命令會將它放在您指定的位置。
選項明確
指定是否允許隱含宣告變數。 選取 [開啟 ] 以要求明確宣告變數。 如果變數在使用之前未宣告變數,這會導致編譯程式回報錯誤。 選取 [關閉 ] 以允許隱含宣告變數。
此設定會對應至 /optionexplicit 編譯程序選項。
如果原始程式碼檔包含 Option Explicit 語句,On
語句中的 或 Off
值會覆寫編譯頁面上的 Option Explicit 設定。
當您建立新專案時,[編譯] 頁面上的 [選項明確] 設定會設定為 [選項] 對話框中 [選項明確] 設定的值。 若要檢視或變更此對話框中的設定,請在 [ 工具] 功能表上,按兩下 [ 選項]。 在 [ 選項 ] 對話框中,展開 [ 專案和方案],然後按兩下 [VB 預設值]。 VB 預設值中 [選項明確] 的初始預設設定為 [開啟]。
將 [明確選項 ] Off
設定為 通常不是很好的作法。 您可以在一或多個位置中拼錯變數名稱,這會在執行程式時造成非預期的結果。
選項 strict
指定是否要強制執行嚴格的型別語意。 當 Option Strict 為 On 時,下列條件會造成編譯時間錯誤:
隱含縮小轉換
晚期系結
導致型別的隱含型別
Object
當隱含數據類型轉換是縮小轉換時,就會發生隱含縮小轉換錯誤。 如需詳細資訊,請參閱 Option Strict 語句、 隱含和明確轉換,以及 擴大和縮小轉換。
當物件指派給宣告為 型 Object
別之變數的屬性或方法時,對象會延遲系結。 如需詳細資訊,請參閱 Option Strict 語句 和 早期和晚期系結。
當宣告的變數無法推斷適當的類型時,就會發生隱含物件類型錯誤,因此會推斷的型 Object
別。 這主要發生在您使用 Dim
語句來宣告變數而不使用 As
子句,且 Option Infer
關閉時。 如需詳細資訊,請參閱 Option Strict 語句、 Option Infer 語句和 Visual Basic 語言規格。
Option Strict 設定會對應至 /optionstrict 編譯程序選項。
如果原始碼檔案包含 Option Strict 語句,On
語句中的 或 Off
值會覆寫 [編譯] 頁面上的 Option Strict 設定。
當您建立專案時,[編譯] 頁面上的 [選項嚴格] 設定會設定為 [選項] 對話框中 [選項嚴格] 設定的值。 若要檢視或變更此對話框中的設定,請在 [ 工具] 功能表上,按兩下 [ 選項]。 在 [ 選項 ] 對話框中,展開 [ 專案和方案],然後按兩下 [VB 預設值]。 VB 預設值中 Option Strict 的初始預設設定為 Off。
選項 Strict 個別警告
[編譯] 頁面的 [警告組態] 區段具有對應至開啟時造成編譯時間錯誤的Option Strict
三個條件的設定。 以下是這些設定:
隱含轉換
晚期系結;呼叫可能會在運行時間失敗
隱含類型;假設的物件
當您將 [選項 Strict] 設定為 [開啟] 時,這三個警告組態設定都會設定為 [錯誤]。 當您將 [Option Strict] 設定為 [關閉] 時,這三個設定都會設定為 [無]。
您可以將每個警告組態設定個別變更為 [無]、 [警告] 或 [錯誤]。 如果這三個警告組態設定都設定為 [錯誤], On
會出現在方塊中 Option strict
。 如果這三個都設定為 [無], Off
則會出現在此方塊中。 針對這些設定的任何其他組合, [自定義] 隨即出現。
選項比較
指定要使用的字串比較類型。 選取 [二進位 ] 以指示編譯程式使用二進位區分大小寫的字串比較。 選取 [文字 ] 以使用地區設定特定的不區分大小寫的文字字串比較。
此設定會對應至 /optioncompare 編譯程序選項。
如果原始程式碼檔包含 Option Compare 語句,Binary
語句中的 或 Text
值會覆寫 [編譯] 頁面上的 [選項比較] 設定。
當您建立專案時,[編譯] 頁面上的 [選項比較] 設定會設定為 [選項比較] 對話框中 [選項比較] 設定的值。 若要檢視或變更此對話框中的設定,請在 [ 工具] 功能表上,按兩下 [ 選項]。 在 [ 選項 ] 對話框中,展開 [ 專案和方案],然後按兩下 [VB 預設值]。 VB 預設值中 [選項比較] 的初始預設設定為二進位。
選項推斷
指定是否要在變數宣告中允許本機類型推斷。 選取 [開啟 ] 以允許使用本機類型推斷。 選取 [關閉 ] 以封鎖本機類型推斷。
此設定會對應至 /optioninfer 編譯程序選項。
如果原始程式碼檔包含 Option Infer 語句,On
語句中的 或 Off
值會覆寫 [編譯] 頁面上的 Option Infer 設定。
當您建立專案時,[編譯] 頁面上的 [選項推斷] 設定會設定為 [選項] 對話框中 [選項推斷] 設定的值。 若要檢視或變更此對話框中的設定,請在 [ 工具] 功能表上,按兩下 [ 選項]。 在 [ 選項 ] 對話框中,展開 [ 專案和方案],然後按兩下 [VB 預設值]。 VB 預設值中選項推斷的初始預設設定為 [開啟]。
目標 CPU
指定要以輸出檔為目標的處理器。 針對任何 32 位 Intel 相容處理器指定 x86 、任何 64 位 Intel 相容處理器的 x64 、任何 ARM 處理器的 ARM 或 任何 CPU ,以指定任何處理器是可接受的。 任何 CPU 都是新項目的預設值,因為它可讓應用程式在最大硬體類型上執行。
如需詳細資訊,請參閱 /platform (Visual Basic)。
偏好 32 位
如果選取 [ Prefer32 位 ] 複選框,應用程式會在32位和64位版本的 Windows 上以32位應用程式的形式執行。 否則,應用程式會在32位版本的Windows上以32位應用程式的形式執行,並在64位版本的Windows上以64位應用程式的形式執行。
以 64 位應用程式的形式執行會將指標大小加倍,而且它可能會造成獨佔 32 位連結庫的相容性問題。 只有在應用程式執行速度明顯快或需要超過 4 GB 的記憶體時,才能以 64 位的身分執行應用程式是合理的。
只有在下列所有條件都成立時,才能使用此複選框:
在 [ 編譯] 頁面上, [目標 CPU ] 列表會設定為 [任何 CPU]。
在 [應用程式] 頁面上,[ 應用程式類型 ] 列表會指定專案是應用程式。
在 [應用程式] 頁面上, 目標架構 清單會指定 .NET Framework 4.5。
警告組態
下表列出每個項目的組建條件和對應的 無、 警告或 錯誤 通知層級。
根據預設,編譯期間所有編譯程式警告都會新增至工作清單。 選取 [停用所有警告 ] 以指示編譯程式不要發出警告或錯誤。 如果您想要編譯程式將警告視為必須修正的錯誤,請選取 [ 將所有警告 視為錯誤]。
停用所有警告
指定是否允許編譯程式發出通知,如本檔稍早所述的 條件和通知 數據表中所指定。 根據預設,會清除此複選框。 選取此複選框,指示編譯程式不要發出警告或錯誤。
此設定會對應至 /nowarn 編譯程序選項。
將所有警告視為錯誤
指定如何處理警告。 根據預設,會清除此複選框,讓所有警告通知都保持設定為 [警告]。 選取此複選框,將所有警告通知變更為 [錯誤]。
只有在清除 [停用所有警告 ] 時,才能使用此選項。
產生 XML 檔檔
指定是否要產生文件資訊。 根據預設,會選取此複選框,指示編譯程式產生檔資訊,並將其包含在 XML 檔案中。 清除此複選框,指示編譯程式不要建立檔。
此設定會對應至 /doc 編譯程序選項。
註冊 COM Interop
指定受控應用程式是否會公開 COM 物件(COM 可呼叫包裝函式),讓 COM 物件能夠與應用程式互動。
默認會清除此複選框,指定應用程式不允許 COM Interop。 選取此複選框以允許 COM Interop。
這個選項不適用於 Windows 應用程式或主控台應用程式專案。
建置事件
按下此按鈕可存取 [ 建置事件 ] 對話框。 使用此對話框來指定專案的建置前和建置後組態指示。 此對話框僅適用於 Visual Basic 專案。 如需詳細資訊,請參閱 建置事件對話框 (Visual Basic) 。
進階編譯選項
按兩下此按鈕以存取 [ 進階編譯程式設定 ] 對話框。 使用 [ AdvancedCompiler 設定 ] 對話框來指定專案的進階組建組態屬性。 此對話框僅適用於 Visual Basic 專案。 如需詳細資訊,請參閱 進階編譯程式設定對話框 (Visual Basic) 。