指定哪個平臺版本的 Common Language Runtime (CLR) 可以執行輸出檔案。
語法
-platform:{ x86 | x64 | Itanium | arm | anycpu | anycpu32bitpreferred }
論點
| 術語 | 定義 |
|---|---|
x86 |
編譯您的元件,以由 32 位、x86 相容的 CLR 執行。 |
x64 |
編譯您的元件,以在支援 AMD64 或 EM64T 指令集的電腦上由 64 位 CLR 執行。 |
Itanium |
編譯您的元件,以在具有Itanium處理器的計算機上由64位 CLR 執行。 |
arm |
編譯您的元件,以在具有ARM(進階RISC計算機)處理器的計算機上執行。 |
anycpu |
編譯您的元件以在任何平台上執行。 應用程式會在 32 位版本的 Windows 上以 32 位應用程式的形式執行,並在 64 位版本的 Windows 上以 64 位應用程式的形式執行。 此旗標是預設值。 |
anycpu32bitpreferred |
編譯您的元件以在任何平台上執行。 應用程式會在32位和64位版本的Windows上以32位應用程式的形式執行。 此旗標僅適用於可執行檔 (.EXE),而且需要 .NET Framework 4.5。 |
備註
-platform使用 選項來指定輸出檔以為目標的處理器類型。
一般而言,不論平台為何,以 Visual Basic 撰寫的 .NET Framework 元件都會執行相同。 不過,在某些情況下,在不同平臺上的行為會有所不同。 這些常見案例包括:
包含根據平台變更大小之成員的結構,例如任何指標類型。
包含固定大小的指標運算。
用不正確的平臺叫用或 COM 宣告來使用
Integer作為而非 IntPtr 的句柄。Integer轉換成 IntPtr 。使用平台調用或 COM Interop 搭配不存在於所有平臺上的元件。
如果您知道您已假設程式代碼將執行的架構, 則 -platform 選項會減輕一些問題。 具體說來:
如果您決定以64位平臺為目標,且應用程式是在32位電腦上執行,則錯誤訊息會早得多,而且比不使用此參數而發生的錯誤更針對問題。
如果您在 選項上設定
x86旗標,且應用程式後續在64位電腦上執行,應用程式將會在WOW子系統中執行,而不是以原生方式執行。
在 64 位元 Windows 作業系統上:
使用
-platform:x86編譯的元件將會在 WOW64 下執行的 32 位 CLR 上執行。使用
-platform:anycpu編譯的可執行檔將會在 64 位 CLR 上執行。使用 編譯的
-platform:anycpuDLL 將會在與載入它所在的進程相同的 CLR 上執行。使用
-platform:anycpu32bitpreferred編譯的可執行檔將會在 32 位 CLR 上執行。
如需如何開發應用程式以在64位版本的Windows上執行的詳細資訊,請參閱 64位應用程式。
在 Visual Studio IDE 中設定 -platform
在 [方案總管] 中,選擇項目,開啟 [ 專案 ] 功能表,然後按兩下 [ 屬性]。
在 [ 編譯] 索引標籤上,選取或清除 [ 偏好 32 位 ] 複選框,或在 [目標 CPU ] 清單中選擇值。
如需詳細資訊,請參閱 編譯頁面、項目設計工具 (Visual Basic) 。
範例
下列範例說明如何使用 -platform 編譯程序選項。
vbc -platform:x86 myFile.vb