出力ファイルを実行できる共通言語ランタイム (CLR) のプラットフォーム バージョンを指定します。
構文
-platform:{ x86 | x64 | Itanium | arm | anycpu | anycpu32bitpreferred }
論争
任期 | 定義 |
---|---|
x86 |
32 ビットの x86 互換 CLR によって実行されるようにアセンブリをコンパイルします。 |
x64 |
AMD64 または EM64T 命令セットをサポートするコンピューターで、64 ビット CLR によって実行されるようにアセンブリをコンパイルします。 |
Itanium |
Itanium プロセッサを搭載したコンピューター上の 64 ビット CLR によって実行されるようにアセンブリをコンパイルします。 |
arm |
ARM (Advanced RISC Machine) プロセッサを搭載したコンピューターで実行するアセンブリをコンパイルします。 |
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 相互運用機能を、すべてのプラットフォームに存在しないコンポーネントと使用する。
-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