Share via


/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 處理器的電腦上執行。

anycpu

將組件 (Assembly) 編譯為可以在所有的平台上執行。 在 32 位元版本的 Windows 上的 32 位元應用程式,而是在 64 位元版本的 Windows 上是 64 位元應用程式,將執行應用程式。 這個旗標做為預設值。

anycpu32bitpreferred

將組件 (Assembly) 編譯為可以在所有的平台上執行。 應用程式將執行 32 位元和 64 位元的 Windows 版本為 32 位元應用程式。 這個旗標是只適用於可執行檔 (。EXE),而且需要.NET Framework 4.5。

備註

使用 /platform 選項,指定輸出檔所針對的處理器類型。

一般而言,不論平台為何,以 Visual Basic 所撰寫之 .NET Framework 組件的運作情形都相同。 但是在某些情形下,組件在不同的平台上行為會有所不同。 常見的情形如下:

  • 包含成員的結構在不同平台上會改變大小,如指標型別 (Pointer Type)。

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

  • 使用 Integer 而非使用 IntPtr 控制代碼的不正確平台叫用 (Invoke) 或 COM 宣告。

  • IntPtr 轉型 (Casting) 為 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 位元 核取方塊,或在 Target CPU 清單中,選擇一個值。

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

範例

下列範例說明如何使用/platform編譯器選項。

vbc /platform:x86 myFile.vb

請參閱

參考

/target (Visual Basic)

編譯命令列範例 (Visual Basic)

其他資源

Visual Basic 命令列編譯器