/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
在方案總管] 中,選擇 [專案],開啟 專案 ] 功能表,然後按一下 屬性。
如需詳細資訊,請參閱專案設計工具簡介。
在編譯 索引標籤上,選取或清除 [ 偏好的 32 位元 核取方塊,或在 Target CPU 清單中,選擇一個值。
如需詳細資訊,請參閱 專案設計工具、編譯頁 (Visual Basic)。
範例
下列範例說明如何使用/platform編譯器選項。
vbc /platform:x86 myFile.vb