Csc タスク

csc.exe をラップし、実行可能ファイル (.exe ファイル)、ダイナミック リンク ライブラリ (.dll ファイル)、またはコード モジュール (.netmodule ファイル) を生成します。 csc.exe の詳細については、「C# コンパイラ オプション」を参照してください。

パラメーター

Csc タスクのパラメーターの説明を次の表に示します。

パラメーター 説明
AdditionalLibPaths 省略可能な String[] 型のパラメーターです。

参照を検索する追加のディレクトリを指定します。 詳しくは、「-lib (C# コンパイラ オプション)」をご覧ください。
AddModules 省略可能な String 型のパラメーターです。

アセンブリを構成する 1 つ以上のモジュールを指定します。 詳しくは、「-addmodule (C# コンパイラ オプション)」をご覧ください。
AllowUnsafeBlocks 省略可能な Boolean 型のパラメーターです。

true の場合、unsafe キーワードを使用するコードをコンパイルします。 詳しくは、「-unsafe (C# コンパイラ オプション)」をご覧ください。
ApplicationConfiguration 省略可能な String 型のパラメーターです。

アセンブリ バインド設定を含むアプリケーション構成ファイルを指定します。
BaseAddress 省略可能な String 型のパラメーターです。

DLL を読み込む位置に推奨されるベース アドレスを指定します。 DLL の既定のベース アドレスは、.NET Framework 共通言語ランタイムにより設定されます。 詳しくは、「-baseaddress (C# コンパイラ オプション)」をご覧ください。
CheckForOverflowUnderflow 省略可能な Boolean 型のパラメーターです。

データ型の境界をオーバーフローする整数演算で、実行時に例外を発生させるかどうかを指定します。 詳しくは、「-checked (C# コンパイラ オプション)」をご覧ください。
ChecksumAlgorithm 省略可能な String 型のパラメーターです。

PDB ファイルに格納されているソース ファイルのチェックサムを計算するためのアルゴリズムを指定します。 アルゴリズムは、SHA1 (既定値) または SHA256 である必要があります。 「ChecksumAlgorithm」を参照してください。
CodeAnalysisRuleset 省略可能な String 型のパラメーターです。

特定の診断を無効にするルールセット ファイルを指定します。 「CodeAnalysisRuleset」を参照してください。
CodePage 省略可能な Int32 型のパラメーターです。

コンパイルですべてのソース コード ファイルに使用するコード ページを指定します。 詳しくは、「-codepage (C# コンパイラ オプション)」をご覧ください。
DebugType 省略可能な String 型のパラメーターです。

デバッグの種類を指定します。 DebugType には、full または pdbonly を指定できます。 既定値は full です。デバッガーを実行中のプログラムに添付できます。 pdbonly を指定すると、プログラムがデバッガーで開始されたとき、ソース コードのデバッグが有効になりますが、実行中のプログラムがデバッガーにアタッチされているときにのみアセンブラーが表示されます。

このパラメーターは EmitDebugInformation パラメーターをオーバーライドします。

詳しくは、「-debug (C# コンパイラ オプション)」をご覧ください。
DefineConstants 省略可能な String 型のパラメーターです。

プリプロセッサ シンボルを定義します。 詳しくは、「-define (C# コンパイラ オプション)」をご覧ください。
DelaySign 省略可能な Boolean 型のパラメーターです。

true の場合、アセンブリに公開キーを含めることだけを要求するように指定されます。 false の場合、完全署名されたアセンブリを必要とすることが指定されます

KeyFile または KeyContainer パラメーターと併用しない限り、このパラメーターには何の効果もありません。

詳しくは、「-delaysign (C# コンパイラ オプション)」をご覧ください。
Deterministic 省略可能な Boolean 型のパラメーターです。

true の場合、バイナリ コンテンツがコンパイル全体で同一のアセンブリをコンパイラに出力させます (入力が同一である場合)。

詳しくは、「-deterministic (C# コンパイラ オプション)」をご覧ください。
DisabledWarnings 省略可能な String 型のパラメーターです。

無効にする警告の一覧を指定します。 詳しくは、「-nowarn (C# コンパイラ オプション)」をご覧ください。
DocumentationFile 省略可能な String 型のパラメーターです。

ドキュメント コメントを XML ファイルに出力します。 詳しくは、「-doc (C# コンパイラ オプション)」をご覧ください。
EmbedAllSources 省略可能な Boolean 型のパラメーターです。

すべてのソース ファイルを PDB に埋め込みます。 詳細については、-embed (C# compiler options)に関するページを参照してください
EmitDebugInformation 省略可能な Boolean 型のパラメーターです。

true の場合、このタスクはデバッグ情報を生成し、プログラム データベース (.pdb) ファイルにその情報を追加します。 false の場合、このタスクはデバッグ情報を生成しません。 既定値は false です。 詳しくは、「-debug (C# コンパイラ オプション)」をご覧ください。
ErrorLog 省略可能な String 型のパラメーターです。

コンパイラとアナライザーのすべての診断情報を記録するファイルを指定します。 「ErrorLog」を参照してください。
ErrorReport 省略可能な String 型のパラメーターです。

C# 内部エラーを Microsoft に報告する便利な方法を提供します。 このパラメーターの値には、promptsend、または none を指定できます。 このパラメーターが prompt に設定されている場合、内部コンパイラにエラーが発生すると、プロンプトが表示されます。 このプロンプトで、Microsoft にバグ レポートを電子的に送信できます。 このパラメーターが send に設定されている場合、バグ レポートは自動的に送信されます。 このパラメーターが none に設定されている場合、コンパイラのテキスト出力でのみエラーが報告されます。 既定値は none です。 詳しくは、「-errorreport (C# コンパイラ オプション)」をご覧ください。
FileAlignment 省略可能な Int32 型のパラメーターです。

出力ファイル内のセクションのサイズを指定します。 詳しくは、「-filealign (C# コンパイラ オプション)」をご覧ください。
GenerateFullPaths 省略可能な Boolean 型のパラメーターです。

true の場合、コンパイラ出力に含まれるファイルの絶対パスが指定されます。 false の場合、ファイルの名前が指定されます。 既定値は false です。 詳しくは、「-fullpaths (C# コンパイラ オプション)」をご覧ください。
HighEntropyVA 省略可能な Boolean 型のパラメーターです

高エントロピ Address Space Layout Randomization (ASLR) を有効にします。 「HighEntropyVA」を参照してください。
KeyContainer 省略可能な String 型のパラメーターです。

暗号化キー コンテナーの名前を指定します。 詳しくは、「-keycontainer (C# コンパイラ オプション)」をご覧ください。
KeyFile 省略可能な String 型のパラメーターです。

暗号化キーを格納するファイル名を指定します。 詳しくは、「-keyfile (C# コンパイラ オプション)」をご覧ください。
LangVersion 省略可能な String 型のパラメーターです。

使用する言語のバージョンを指定します。 詳しくは、「-langversion (C# コンパイラ オプション)」をご覧ください。
LinkResources 省略可能な ITaskItem[] 型のパラメーターです。

出力ファイル内で .NET Framework リソースへのリンクを作成します。リソース ファイルは出力ファイル内に置かれません。

このパラメーターに渡される項目には、「LogicalName」や「Access」という名前のメタデータ エントリを任意で指定できます。 LogicalName/linkresource スイッチの identifier パラメーターに対応し、Accessaccessibility-modifier パラメーターに対応します。 詳しくは、「-linkresource (C# コンパイラ オプション)」をご覧ください。
MainEntryPoint 省略可能な String 型のパラメーターです。

Main メソッドの場所を指定します。 詳細については、「-main (C# コンパイラ オプション)」を参照してください。
ModuleAssemblyName 省略可能な String 型のパラメーターです。

このモジュールが一部となるアセンブリの名前を指定します。
NoConfig 省略可能な Boolean 型のパラメーターです。

true の場合、csc.rsp ファイルを使用してコンパイルしないようにコンパイラに指示します。 詳しくは、「-noconfig (C# コンパイラ オプション)」をご覧ください。
NoLogo 省略可能な Boolean 型のパラメーターです。

true の場合、コンパイラの著作権情報が表示されません。 詳しくは、「-nologo (C# コンパイラ オプション)」をご覧ください。
NoStandardLib 省略可能な Boolean 型のパラメーターです。

true の場合、System 名前空間の全体を定義する mscorlib.dll がインポートされません。 独自の System 名前空間およびオブジェクトを定義または作成する場合は、このパラメーターを使用します。 詳しくは、「-nostdlib (C# コンパイラ オプション)」をご覧ください。
NoWin32Manifest 省略可能な Boolean 型のパラメーターです。

true の場合、既定の Win32 マニフェストを含めないでください。
Nullable 省略可能な String 型のパラメーターです。

Null 許容コンテキストを指定します。 引数は、enabledisablewarningsannotations のいずれかである必要があります。 「Nullable」を参照してください。
Optimize 省略可能な Boolean 型のパラメーターです。

true の場合、最適化が有効になります。 false の場合、最適化が無効になります。 詳しくは、「-optimize (C# コンパイラ オプション)」をご覧ください。
OutputAssembly 省略可能な String 型の出力パラメーターです。

出力ファイルの名前を指定します。 詳しくは、「-out (C# コンパイラ オプション)」をご覧ください。
OutputRefAssembly 省略可能な String 型のパラメーターです。

出力参照アセンブリ ファイルの名前を指定します。 詳細については、「-refout (C# コンパイラ オプション)」を参照してください。
PathMap 省略可能な String 型のパラメーターです。

コンパイラによるソース パス名出力への物理パスのマップ方法を指定します。 「PathMap」を参照してください。
PdbFile 省略可能な String 型のパラメーターです。

デバッグ情報ファイルの名前を指定します。 既定の名前は、出力ファイルの名前に .pdb 拡張子が付いたものになります。
Platform 省略可能な String 型のパラメーターです。

出力ファイルのターゲットとするプロセッサ プラットフォームを指定します。 このパラメーターの値には、x86x64、または anycpu を指定できます。 既定値は anycpu です。 詳しくは、「-platform (C# コンパイラ オプション)」をご覧ください。
PreferredUILang 省略可能な String 型のパラメーターです。

C# コンパイラでの出力 (エラー メッセージなど) の表示言語を指定します。 「PreferredUILang」を参照してください。
PublicSign 省略可能な Boolean 型のパラメーターです。

出力アセンブリに公開署名します。 「PublicSign」を参照してください。
References 省略可能な ITaskItem[] 型のパラメーターです。

指定したアイテムから現在のプロジェクトにパブリック型の情報をインポートするようにタスクに指示します。 詳しくは、「-reference (C# コンパイラ オプション)」をご覧ください。

メタデータ Aliases を元の "参照" 項目に追加することで、MSBuild ファイルに C# 参照エイリアスを指定できます。 たとえば、次の Csc コマンド ラインでエイリアス "LS1" を設定する場合:

CSC /r:LS1=MyCodeLibrary.dll /r:LS2=MyCodeLibrary2.dll *.cs

次を使用します。

<Reference Include="MyCodeLibrary"> <Aliases>LS1</Aliases> </Reference>
RefOnly 省略可能な Boolean 型のパラメーターです。

完全なアセンブリではなく、参照アセンブリをプライマリ出力として生成します。 「ProduceOnlyReferenceAssembly」を参照してください。
ReportAnalyzer 省略可能な Boolean 型のパラメーターです。

実行時間など、アナライザーの追加情報を報告します。 「ReportAnalyzer」を参照してください。
Resources 省略可能な ITaskItem[] 型のパラメーターです。

.NET Framework のリソースを出力ファイルに埋め込みます。

このパラメーターに渡される項目には、「LogicalName」や「Access」という名前のメタデータ エントリを任意で指定できます。 LogicalName/resource スイッチの identifier パラメーターに対応し、Accessaccessibility-modifier パラメーターに対応します。 詳しくは、「-resource (C# コンパイラ オプション)」をご覧ください。
ResponseFiles 省略可能な String 型のパラメーターです。

このタスクのコマンドを含む応答ファイルを指定します。 詳しくは、「@ (応答ファイルの指定)」をご覧ください。
Sources 省略可能な ITaskItem[] 型のパラメーターです。

1 つまたは複数の C# ソース ファイルを指定します。
TargetType 省略可能な String 型のパラメーターです。

出力ファイルのファイル形式を指定します。 このパラメーターには値として、コード ライブラリを作成する library、コンソール アプリケーションを作成する exe、モジュールを作成する module、Windows プログラムを作成する winexe を指定できます。 既定値は library です。 詳しくは、「-target (C# コンパイラ オプション)」をご覧ください。
TreatWarningsAsErrors 省略可能な Boolean 型のパラメーターです。

true の場合、すべての警告をエラーとして扱います。 詳しくは、「-warnaserror (C# コンパイラ オプション)」をご覧ください。
UseHostCompilerIfAvailable 省略可能な Boolean 型のパラメーターです。

利用できる場合、インプロセス コンパイラ オブジェクトを使用するようにタスクに指示します。 Visual Studio によってのみ使用されます。
Utf8Output 省略可能な Boolean 型のパラメーターです。

UTF-8 エンコードを使用してコンパイラ出力をログに記録します。 詳しくは、「-utf8output (C# コンパイラ オプション)」をご覧ください。
WarningLevel 省略可能な Int32 型のパラメーターです。

コンパイラが表示する警告レベルを指定します。 詳しくは、「-warn (C# コンパイラ オプション)」をご覧ください。
WarningsAsErrors 省略可能な String 型のパラメーターです。

エラーとして扱う警告の一覧を指定します。 詳しくは、「-warnaserror (C# コンパイラ オプション)」をご覧ください。

このパラメーターは TreatWarningsAsErrors パラメーターをオーバーライドします。
WarningsNotAsErrors 省略可能な String 型のパラメーターです。

エラーとして扱わない警告の一覧を指定します。 詳しくは、「-warnaserror (C# コンパイラ オプション)」をご覧ください。

このパラメーターは、TreatWarningsAsErrors パラメーターが true に設定されている場合にのみ役に立ちます。
Win32Icon 省略可能な String 型のパラメーターです。

ファイル エクスプローラーで出力ファイルを適切に表示する .ico ファイルをアセンブリに挿入します。 詳しくは、「-win32icon (C# コンパイラ オプション)」を参照してください。
Win32Manifest 省略可能な String 型のパラメーターです。

追加する Win32 マニフェストを指定します。
Win32Resource 省略可能な String 型のパラメーターです。

Win32 リソース (.res ファイル) を出力ファイルに挿入します。 詳しくは、「-win32res (C# コンパイラ オプション)」をご覧ください。

ToolTaskExtension パラメーター

このタスクが ToolTaskExtension クラスを継承します。このクラスは ToolTask クラスから継承され、さらに、このクラス自体は Task から継承されます。 この継承チェーンにより、これらのクラスから派生したタスクにいくつかのパラメーターが追加されます。

基本クラスのパラメーターの説明を次の表に示します。

パラメーター 説明
EchoOff 省略可能な bool 型のパラメーターです。

true に設定すると、このタスクは /Qcmd.exe コマンド ラインに渡して、コマンド ラインが stdout にコピーされないようにします。
EnvironmentVariables 省略可能な String 型の配列パラメーターです。

セミコロンで区切られた環境変数定義の配列。 各定義では、環境変数の名前と値を等号で区切って指定する必要があります。 これらの変数は、標準の環境ブロックに加え (または標準の環境ブロックを選択的にオーバーライドして)、子の実行可能ファイルに渡されます。 たとえば、「 Variable1=Value1;Variable2=Value2 」のように入力します。
ExitCode 省略可能な Int32 型の読み取り専用出力パラメーターです。

実行したコマンドの終了コードを示します。 タスクがエラーを記録した一方で、プロセスの終了コードが 0 (成功) だった場合、これは -1 に設定されます。
LogStandardErrorAsError 省略可能な bool 型のパラメーターです。

true の場合、標準エラー ストリームで受け取ったすべてのメッセージがエラーとして記録されます。
StandardErrorImportance 省略可能な String 型のパラメーターです。

標準エラー ストリームのテキストを記録するときに使用する重要度です。
StandardOutputImportance 省略可能な String 型のパラメーターです。

標準出力ストリームのテキストを記録するときに使用する重要度です。
Timeout 省略可能な Int32 型のパラメーターです。

タスク実行を終了するまでの時間をミリ秒単位で指定します。 既定値は Int.MaxValue であり、タイムアウト期限がないことを示します。 タイムアウトはミリ秒単位です。
ToolExe 省略可能な string 型のパラメーターです。

プロジェクトで実装すると、ToolName をオーバーライドできます。 タスクでオーバーライドすると、ToolName を保持できます。
ToolPath 省略可能な string 型のパラメーターです。

タスクで基になる実行可能ファイルを読み込む場所を指定します。 このパラメーターを指定しない場合、タスクでは、MSBuild を実行しているフレームワークのバージョンに対応する SDK インストール パスが使用されます。
UseCommandProcessor 省略可能な bool 型のパラメーターです。

true に設定した場合、このタスクで直接コマンドを実行する代わりに、コマンド ラインのバッチ ファイルを作成し、そのファイルをコマンド プロセッサで実行します。
YieldDuringToolExecution 省略可能な bool 型のパラメーターです。

true に設定した場合、このタスクは、その実行時にノードを生成します。

次の例では、Csc タスクを使用し、Compile アイテム コレクションのソース ファイルから実行可能ファイルをコンパイルしています。

<CSC
    Sources="@(Compile)"
    OutputAssembly="$(AppName).exe"
    EmitDebugInformation="true" />

関連項目