-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 宣言IntPtr の
Integer
へのキャストすべてのプラットフォームに存在するとは限らないコンポーネントを使用したプラットフォーム呼び出しまたは 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 を設定するには
ソリューション エクスプローラーで、プロジェクトを選択し、 [プロジェクト] メニューを開いてから、 [プロパティ] をクリックします。
[コンパイル] タブで、 [32 ビットを優先] チェック ボックスをオンまたはオフにするか、 [対象の CPU] 一覧で値を選択します。
詳細については、「[コンパイル] ページ、プロジェクト デザイナー (Visual Basic)」を参照してください。
例
次の例は、-platform
コンパイラ オプションを使用する方法を示しています。
vbc -platform:x86 myFile.vb
関連項目
.NET