/target (Visual Basic)
コンパイラの出力形式を指定します。
/target:{exe | library | module | winexe}
解説
次の表に、/target オプションの働きをまとめます。
オプション |
Behavior |
---|---|
/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 で作成されるファイル以外のすべての出力ファイルでは、マニフェスト内にアセンブリ メタデータが格納されます。 出力ファイルのメタデータを表示するには、Ildasm.exe (MSIL 逆アセンブラー) を使用します。
/target の省略形は /t です。
Visual Studio IDE で /target を設定するには
ソリューション エクスプローラーでプロジェクトを選択します。 [プロジェクト] メニューの [プロパティ] をクリックします。 詳細については、「プロジェクト デザイナーの概要」を参照してください。
[アプリケーション] タブをクリックします。
[アプリケーションの種類] ボックス内の値を変更します。
使用例
in.vb をコンパイルして in.dll を作成する場合のコード例です。
vbc /target:library in.vb
参照
参照
アセンブリとグローバル アセンブリ キャッシュ (C# および Visual Basic)
コンパイル コマンド ラインのサンプル (Visual Basic)