/platform (Visual Basic)

更新 : 2007 年 11 月

出力ファイルをどのプラットフォーム用の共通言語ランタイム (CLR) で実行するかを指定します。

/platform:{ x86 | x64 | Itanium | anycpu }

引数

  • anycpu
    任意のプラットフォームで実行するアセンブリをコンパイルします。/platform オプションを指定しなかった場合の既定の動作です。

  • x86
    32 ビットの x86 互換 CLR で実行されるアセンブリをコンパイルします。

  • x64
    AMD64 または EM64T 命令セットをサポートするコンピュータ上の 64 ビット CLR で実行されるアセンブリをコンパイルします。

  • Itanium
    Itanium プロセッサ搭載コンピュータ上の 64 ビット CLR で実行されるアセンブリをコンパイルします。

解説

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

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

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

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

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

  • IntPtr から Integer へのキャスト

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

コードの実行対象となるアーキテクチャをあらかじめ想定している場合は、/platform オプションを使用することで、問題が緩和されることもあります。具体的には、以下の警告があります。

  • 64 ビット プラットフォームを対象とすることにし、アプリケーションを 32 ビット コンピュータで実行した場合、このスイッチを使わなかった場合よりも早い段階でエラー メッセージが生成され、また、メッセージ自体もプラットフォームに特化した具体的な内容になります。

  • このスイッチで 32 ビット オプションを設定し、その後、アプリケーションを 64 ビット コンピュータで実行した場合、ネイティブな実行環境ではなく、WOW サブシステムで実行されます。

64 ビットの Windows オペレーティング システムでは次のようになります。

  • /platform:x86 を指定してコンパイルしたアセンブリは、WOW64 環境の 32 ビット CLR 上で実行されます。

  • /platform:anycpu を指定してコンパイルした実行可能ファイルは、64 ビット CLR 上で実行されます。

  • /platform:anycpu を指定してコンパイルした DLL は、ロード先のプロセスと同じ CLR 上で実行されます。

64 ビットの Windows オペレーティング システム上で実行されるアプリケーションの開発の詳細については、「64 ビット アプリケーション」を参照してください。

Visual Studio 統合開発環境で /nowarn を設定するには

  1. ソリューション エクスプローラでプロジェクトを選択します。[プロジェクト] メニューの [プロパティ] をクリックします。詳細については、「プロジェクト デザイナの概要」を参照してください。

  2. [コンパイル] タブをクリックします。

  3. [詳細] をクリックします。

  4. [ターゲット CPU] ボックスの値を変更します。

使用例

次の例は、/platform を使用して、Itanium 搭載の 64 ビット Windows オペレーティング システム上の 64 ビット CLR でのみ実行されるアプリケーションをコンパイルする方法を示しています。

vbc /platform:Itanium myItanium.vb

参照

参照

コンパイル コマンド ラインのサンプル

その他の技術情報

Visual Basic コンパイラ