共用方式為


-platform (Visual Basic)

指定哪個平臺版本的 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:anycpu DLL 將會在與載入它所在的進程相同的 CLR 上執行。

  • 使用 -platform:anycpu32bitpreferred 編譯的可執行檔將會在 32 位 CLR 上執行。

如需如何開發應用程式以在64位版本的Windows上執行的詳細資訊,請參閱 64位應用程式

在 Visual Studio IDE 中設定 -platform

  1. [方案總管] 中,選擇項目,開啟 [ 專案 ] 功能表,然後按兩下 [ 屬性]。

  2. 在 [ 編譯] 索引標籤上,選取或清除 [ 偏好 32 位 ] 複選框,或在 [目標 CPU ] 清單中選擇值。

    如需詳細資訊,請參閱 編譯頁面、項目設計工具 (Visual Basic)

範例

下列範例說明如何使用 -platform 編譯程序選項。

vbc -platform:x86 myFile.vb  

另請參閱