/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 を設定するには

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

  2. [アプリケーション] タブをクリックします。

  3. [アプリケーションの種類] ボックス内の値を変更します。

使用例

in.vb をコンパイルして in.dll を作成する場合のコード例です。

vbc /target:library in.vb

参照

関連項目

/main

/out (Visual Basic)

/reference (Visual Basic)

/addmodule

/moduleassemblyname

コンパイル コマンド ラインのサンプル (Visual Basic)

概念

アセンブリとグローバル アセンブリ キャッシュ (C# および Visual Basic)

その他の技術情報

Visual Basic のコマンド ライン コンパイラ