/target (Visual Basic)

更新 : 2007 年 11 月

コンパイラの出力形式を指定します。

/target:{exe | library | module | winexe}

解説

次の表に、/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:module を指定しない限り、/target を使用すると、.NET Framework のアセンブリ マニフェストが出力ファイルに追加されます。

Vbc.exe のインスタンスごとに生成される出力ファイルは、多くても 1 つです。/out や /target のようなコンパイラ オプションを 2 回以上指定すると、コンパイラが最後に認識したオプションだけが有効になります。コンパイルされたすべてのファイルに関する情報は、マニフェストに追加されます。/target:module で作成されるファイル以外のすべての出力ファイルでは、マニフェスト内にアセンブリ メタデータが格納されます。出力ファイルのメタデータを表示するには、MSIL 逆アセンブラ (Ildasm.exe) を使用します。

/t は /target の省略形です。

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 コンパイラ