-platform (Visual Basic)

指定通用語言執行平台 (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 組件將會執行相同作業。 不過,有某些情況下,在不同的平台上有不同的行為。 常見的情況如下:

  • 包含的成員視平台而變更大小的結構,例如任何指標類型。

  • 包含常數大小的指標算術。

  • 不正確的平台叫用,或是使用 Integer 而不是 IntPtr 作為控點的 COM 宣告。

  • IntPtr 轉型為 Integer

  • 使用其元件不存在於所有平台的平台叫用或 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  

另請參閱