/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 を設定するには
ソリューション エクスプローラでプロジェクトを選択します。[プロジェクト] メニューの [プロパティ] をクリックします。詳細については、「プロジェクト デザイナの概要」を参照してください。
[アプリケーション] タブをクリックします。
[アプリケーションの種類] ボックス内の値を変更します。
使用例
in.vb をコンパイルして in.dll を作成する場合のコード例です。
vbc /target:library in.vb