Visual StudioのC#コンパイラの実体は、csc.exeです。
対象とするプラットフォームを指定します。
| 引数 | 表記 | 意味 |
|---|---|---|
| anycpu | Any CPU | どのプラットフォームでも実行できるようにコンパイルする。可能ならば64ビット プロセスで実行し、32ビットしか利用できないならば、それにフォールバック (fall back) される。既定値 |
| anycpu32bitpreferred | どのプラットフォームでも実行できるようにコンパイルする。64ビットと32ビットの両方のアプリケーションをサポートするシステムで、32ビット モードでアプリケーションを実行する | |
| ARM | ARM | |
| ARM64 | ARM64 | |
| x64 | x64 | |
| x86 | x86 | |
| Itanium |
-debugを指定するとデバッグ情報が生成され、PDBに出力されます。
| 引数 | デバッガーで開始したとき | 実行中のプログラムにアタッチしたとき |
|---|---|---|
| full | ソースコードをデバッグできる | ソースコードをデバッグできる |
| pdbonly | アセンブラしか表示できない |
コンパイラの警告レベルを設定します。下表のように0~4までで、既定で4となっています。
| 警告レベル | 表示される警告 |
|---|---|
| 0 | なし |
| 1 | 重大な警告のみ |
| 2 | 重大な警告と、重大度が低い警告 |
| 3 | 重大な警告と、レベル2より重大度が低い警告 |
| 4 | レベル3の警告と、情報だけの警告 [既定] |
Visual Studioではこれを、プロジェクトのプロパティの[ビルド] → [条件付きコンパイル シンボル]で設定できます。
#defineとは異なり、ソースのすべてのファイルに作用します。DefineConstants - C# コンパイラ オプション - 言語機能の規則 | Microsoft Learn
unsafeキーワードの使用を許可します。/unsafe (C# Compiler Options) | MSDN