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# コンパイラ オプション)」をご覧ください。
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# コンパイラ オプション)」をご覧ください。
DisabledWarnings 省略可能な String 型のパラメーターです。

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

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

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

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

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

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

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

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

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

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

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

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

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

次を使用します。

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

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

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

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

1 つまたは複数の Visual 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# コンパイラ オプション)」をご覧ください。

コメント

上記のパラメーター以外に、このタスクは Microsoft.Build.Tasks.ManagedCompiler クラスからパラメーターを継承します。このクラスは ToolTaskExtension クラスから継承されます。クラス自体は ToolTask クラスから継承されます。 これらの追加のパラメーターの一覧とその説明については、「ToolTaskExtension 基本クラス」を参照してください。

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

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

関連項目

Task Reference (タスク リファレンス)
タスク