/target (C# コンパイラ オプション)
/target コンパイラ オプションを指定するには、次の 4 つの形式のいずれかを使用します。
/target:appcontainerexe
Windows ストア の apps の .exe ファイルを作成します。/target:exe
.exe ファイルを作成する場合。/target:library
コード ライブラリを作成する場合。/target:module
モジュールを作成する場合。/target:winexe
Windows プログラムを作成する場合。/target:winmdobj
中間 .winmdobj ファイルを作成します。
/target:module を指定しない限り、/target を使用すると、.NET Framework のアセンブリ マニフェストが出力ファイルに組み込まれます。詳細については、「共通言語ランタイムのアセンブリ」および「共通の属性」を参照してください。
アセンブリ マニフェストは、コンパイル中の最初の .exe 出力ファイルに組み込まれます。.exe 出力ファイルがない場合には、最初の DLL ファイルに組み込まれます。たとえば、次のコマンド ラインでは、マニフェストは 1.exe に組み込まれます。
csc /out:1.exe t1.cs /out:2.netmodule t2.cs
コンパイラの 1 回のコンパイルで作成されるアセンブリ マニフェストは 1 つだけです。コンパイルにおけるすべてのファイルの情報は、アセンブリ マニフェストに含まれます。/target:module 以外で作成されたすべての出力ファイルは、アセンブリ マニフェストを含むことができます。コマンド ラインで複数の出力ファイルを生成するときは、アセンブリ マニフェストが 1 つだけ作成されます。このアセンブリ マニフェストは、コマンド ラインで指定した最初の出力ファイルに含める必要があります。最初の出力ファイル (/target:exe、/target:winexe、/target:library、または /target:module) にかかわらず、同じコンパイル処理で作成する他の出力ファイルはモジュール (/target:module) にする必要があります。
アセンブリを作成する場合は、CLSCompliantAttribute 属性を使用して、コードのすべてまたは一部が CLS 準拠であることを指定できます。
// target_clscompliant.cs
[assembly:System.CLSCompliant(true)] // specify assembly compliance
[System.CLSCompliant(false)] // specify compliance for an element
public class TestClass
{
public static void Main() {}
}
このコンパイラ オプションをプログラムで設定する方法の詳細については、「OutputType」を参照してください。
参照
処理手順
関連項目
/subsystemversion (C# コンパイラ オプション)