-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 任意のプラットフォーム上で実行されるように、アセンブリをコンパイルします。 アプリケーションは、Windows の 32 ビット バージョンでは 32 ビット アプリケーションとして、Windows の 64 ビット バージョンでは 64 ビット アプリケーションとして実行されます。 このフラグが既定値です。
anycpu32bitpreferred 任意のプラットフォーム上で実行されるように、アセンブリをコンパイルします。 アプリケーションは、Windows の 32 ビット バージョンおよび 64 ビット バージョンの両方で、 32 ビット アプリケーションとして実行されます。 このフラグは、実行可能ファイル (.EXE) に対してのみ有効であり、.NET Framework 4.5 が必要です。

Remarks

出力ファイルの対象となるプロセッサの種類を指定するには、-platform オプションを使用します。

通常、Visual Basic で記述された .NET Framework アセンブリは、プラットフォームに関係なく、同じように実行されます。 ただし、プラットフォーム間で動作が異なる場合があります。 その一般的な例を次に示します。

  • プラットフォームによってメンバーのサイズが変わる構造体 (ポインター型など)

  • 定数のサイズを含むポインター演算

  • ハンドルに Integer ではなく IntPtr を使用した不適切なプラットフォーム呼び出しまたは COM 宣言

  • IntPtrInteger へのキャスト

  • すべてのプラットフォームに存在するとは限らないコンポーネントを使用したプラットフォーム呼び出しまたは COM 相互運用機能の使用

コードの実行対象となるアーキテクチャをあらかじめ想定している場合は、 -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  

関連項目