Csc タスク

実行可能ファイル (.exe ファイル)、ダイナミック リンク ライブラリ (.dll ファイル)、またはコード モジュール (.netmodule ファイル) を作成する CSC.exe を ラップします。 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 パラメーターに相当します。また、Access は、accessibility-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# コンパイラ オプション)」を参照してください。

MSBuild ファイルで、メタデータの Aliases を元の "参照" 項目に追加することにより、Visual C# 参照エイリアスを指定できます。 たとえば、次の CSC コマンド ラインのエイリアス "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 パラメーターに相当します。また、Access は、accessibility-modifier パラメーターに相当します。 詳細については、「/resource (C# コンパイラ オプション)」を参照してください。

ResponseFiles

省略可能な String 型のパラメーターです。

このタスク用のコマンドが格納されている応答ファイルを指定します。 詳細については、「@ (C# コンパイラ オプション)」を参照してください。

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" />

参照

概念

MSBuild タスク

その他の技術情報

MSBuild タスク リファレンス