/target (Visual Basic)
コンパイラの出力形式を指定します。
/target:{exe | library | module | winexe | appcontainerexe | winmdobj}
解説
次の表に、/target オプションの働きをまとめます。
オプション |
[動作] |
---|---|
/target:exe |
実行可能なコンソール アプリケーションをコンパイラで作成します。 /target オプションを指定しなかった場合の既定のオプションです。拡張子 .exe を使って実行可能ファイルが作成されます。 /out オプションで特に指定しない限り、出力ファイル名は Sub Main プロシージャを含む入力ファイルの名前と同じになります。 .exe ファイルを生成するためにコンパイルするソース コード ファイルで必要な Sub Main プロシージャは 1 つだけです。/main コンパイラ オプションを使用して、Sub Main プロシージャを含むクラスを指定します。 |
/target:library |
コンパイラにダイナミック リンク ライブラリ (DLL) を作成させます。 拡張子が .dll であるダイナミック リンク ライブラリ ファイルが作成されます。 /out オプションで特に指定しない限り、出力ファイル名は最初の入力ファイルと同じになります。 DLL の作成には、Sub Main プロシージャは不要です。 |
/target:module |
アセンブリに追加できるモジュールをコンパイラで生成します。 出力ファイルの拡張子は .netmodule になります。 .NET の共通言語ランタイムは、アセンブリのないファイルを読み込むことができません。ただし、アセンブリがないファイルでも、/reference を使用してアセンブリのアセンブリ マニフェストに組み込むことができます。 あるモジュールのコードが別のモジュールの内部型を参照する場合は、/reference を使用して両方のモジュールをアセンブリ マニフェストに組み込む必要があります。 /addmodule は、モジュールからメタデータをインポートします。 |
/target:winexe |
実行可能な Windows ベースのアプリケーションをコンパイラで作成します。 拡張子 .exe を使って実行可能ファイルが作成されます。Windows ベースのアプリケーションは、.NET Framework クラス ライブラリまたは Win32 API のユーザー インターフェイスを提供するプログラムです。 /out オプションで特に指定しない限り、出力ファイル名は Sub Main プロシージャを含む入力ファイルの名前と同じになります。 .exe ファイルを生成するためにコンパイルするソース コード ファイルで必要な Sub Main プロシージャは 1 つだけです。コード内に Sub Main プロシージャを持つクラスが複数ある場合、/main コンパイラ オプションを使用して、どのクラスに Sub Main プロシージャが含まれているかを指定します。 |
/target:appcontainerexe |
コンパイラをアプリ コンテナーで実行する実行可能な Windows ベースのアプリケーションを作成します。この設定は Windows ストア のアプリケーションで使用するように設計されています。 セットを設定 appcontainerexe ファイル ポータブル実行可能 特性のフィールドのビット。このビットは、アプリケーションがアプリ コンテナーで実行する必要があることを示します。このビットが設定されている場合、エラーが CreateProcess のメソッドがアプリ コンテナーの外部でアプリケーションを起動しようとすると発生します。このビットの設定は、別として、/target:appcontainerexe は /target:winexeと同じです。 拡張子 .exe を使って実行可能ファイルが作成されます。 /out のオプションを使用して、特に指定しない限り、出力ファイル名は Sub Main のプロシージャを含む入力ファイルと同じになります。 .exe ファイルを生成するためにコンパイルするソース コード ファイルで必要な Sub Main プロシージャは 1 つだけです。コードが Sub Main のプロシージャを持つ複数のクラスが含まれている場合、どのクラスの Sub Main のプロシージャを含むかを指定する /main のコンパイラ オプションを使用します。 |
/target:winmdobj |
コンパイラが、Windows にランタイムのバイナリ (.winmd) ファイルを変換する中間ファイルを作成します。.winmd ファイルは、マネージ言語のプログラムでなく JavaScript および C++ プログラムによって実行できます。 中間ファイルは、.winmdobj の拡張子で作成されます。 /out のオプションを使用して、特に指定しない限り、出力ファイル名は、最初の入力ファイルと同じになります。Sub Main の手順は必要ではありません。 .winmdobj のファイルが使用されるように WinMDExp のエクスポートのツールが Windows のメタデータの (WinMD) ファイルを生成できるように、入力として設計されています。WinMD ファイルは .winmd の拡張子を持ち、元のライブラリの JavaScript コードと、C++、および Windows のランタイムを使用 WinMD の定義の両方が含まれます。 |
/target:module を指定しない限り、/target を使用すると、.NET Framework のアセンブリ マニフェストが出力ファイルに追加されます。
Vbc.exe のインスタンスごとに生成される出力ファイルは、多くても 1 つです。/out や /target のようなコンパイラ オプションを 2 回以上指定すると、コンパイラが最後に認識したオプションだけが有効になります。コンパイルされたすべてのファイルに関する情報は、マニフェストに追加されます。/target:module で作成されるファイル以外のすべての出力ファイルでは、マニフェスト内にアセンブリ メタデータが格納されます。出力ファイルのメタデータを表示するには、Ildasm.exe (MSIL 逆アセンブラー) を使用します。
/target の省略形は /t です。
Visual Studio IDE で /target を設定するには
ソリューション エクスプローラーでプロジェクトを選択します。[プロジェクト] メニューの [プロパティ] をクリックします。詳細については、「プロジェクト デザイナーの概要」を参照してください。
[アプリケーション] タブをクリックします。
[アプリケーションの種類] ボックス内の値を変更します。
使用例
in.vb をコンパイルして in.dll を作成する場合のコード例です。
vbc /target:library in.vb
参照
関連項目
コンパイル コマンド ラインのサンプル (Visual Basic)
概念
アセンブリとグローバル アセンブリ キャッシュ (C# および Visual Basic)