この記事の英語版を表示するには、[英語] のチェック ボックスをオンにしてください。また、テキストにマウス ポインターを合わせると、ポップアップ ウィンドウに英語のテキストを表示することもできます。
翻訳
英語
Visual Studio 2017 を使用することをお勧めします

csc.exe を使用したコマンド ラインからのビルド

C# コンパイラは、その実行可能ファイルの名前 (csc.exe) をコマンド プロンプトに入力することによって呼び出します。

Visual Studio コマンド プロンプト ウィンドウを使用した場合、必要なすべての環境変数が設定されます。 Windows 7 では、[スタート] メニューから Microsoft Visual Studio Version\Visual Studio Tools フォルダーを開くことにより、このウィンドウを使用できます。 Windows 8 では、Visual Studio コマンド プロンプトは VS2012 の開発者コマンド プロンプトと呼ばれており、スタート画面から検索できます。

標準のコマンド プロンプト ウィンドウを使用する場合は、コンピューター上の任意のサブディレクトリから csc.exe を呼び出すことができるようにパスを修正する必要があります。 また、vsvars32.bat を実行して、コマンド ライン ビルドをサポートするための適切な環境変数を設定する必要があります。 vsvars32.bat を検索および実行するための手順を含む vsvars32.bat の詳細については、「方法 : Visual Studio のコマンドラインのための環境変数を設定する」を参照してください。

Windows Software Development Kit (SDK) のみがインストールされているコンピューターでは、[SDK コマンド プロンプト] ([Microsoft .NET Framework SDK] メニュー オプションから開くことができます) で C# コンパイラを使用できます。

MSBuild を使用して、プログラムによって C# プログラムをビルドすることもできます。 詳細については、「MSBuild」を参照してください。

通常、実行可能ファイル csc.exe は、Windows ディレクトリの Microsoft.NET\Framework\Version フォルダーに格納されています。 ただし、この格納場所は、特定のコンピューターの構成によって異なる場合があります。 複数のバージョンの .NET Framework がコンピューターにインストールされている場合、このファイルのバージョンが複数見つかります。 このようなインストールの詳細については、「インストールされている .NET Framework バージョンの確認」を参照してください。

ヒント ヒント

Visual Studio IDE を使用してプロジェクトをビルドすると、csc コマンドおよびその関連するコンパイラ オプションが出力ウィンドウに表示されます。 この情報を表示するには、「方法: ビルド ログ ファイルを表示、保存、および構成する」の手順に従って、ログ データの詳細レベルを [標準] または [詳細] に変更します。 プロジェクトをリビルドした後、C# コンパイラの呼び出しを見つけるために出力ウィンドウで csc を検索します。

このトピックの内容

C# コンパイラは、オペレーティング システムのコマンド ラインで指定された引数を次の規則に従って解釈します。

  • 引数は、空白 (スペースまたはタブ) で区切ります。

  • キャレット (^) は、エスケープ文字やデリミターとしては認識されません。 キャレットは、オペレーティング システムのコマンド ライン パーサーによって処理されてからプログラムの argv 配列に渡されます。

  • 二重引用符で囲まれた文字列 ("string") は、空白を含む場合でも、単一の引数と見なされます。 二重引用符で囲んだ文字列を引数に埋め込むこともできます。

  • 円記号を前に付けた二重引用符 (\") は、リテラル二重引用符文字 (") として解釈されます。

  • 二重引用符の直前にある円記号以外は、円記号 (\) として解釈されます。

  • 二重引用符の直前に円記号が偶数個 (0 個は含まない) あると、円記号のペアごとに 1 個の円記号が argv 配列に格納されます。この場合、二重引用符は文字列のデリミターとして解釈されます。

  • 二重引用符の直前に円記号が奇数個 (3 個以上) あると、円記号のペアごとに 1 個の円記号が argv 配列に格納されます。この場合、二重引用符は残った円記号によりエスケープ シーケンスになります。 これにより、リテラル二重引用符 (") が argv に追加されます。

  • File.cs をコンパイルして File.exe を作成します。

    csc File.cs 
    
  • File.cs をコンパイルして File.dll を作成します。

    csc /target:library File.cs
    
  • File.cs をコンパイルして My.exe を作成します。

    csc /out:My.exe File.cs
    
  • 最適化を有効にし、DEBUG シンボルを定義して、現在のディレクトリにあるすべての C# ファイルをコンパイルします。 File2.exe が出力されます。

    csc /define:DEBUG /optimize /out:File2.exe *.cs
    
  • 現在のディレクトリにあるすべての C# ファイルをコンパイルして、デバッグ バージョンの File2.dll を作成します。 ロゴや警告は表示されません。

    csc /target:library /out:File2.dll /warn:0 /nologo /debug *.cs
    
  • 現在のディレクトリにあるすべての C# ファイルをコンパイルして、Something.xyz (DLL) に出力します。

    csc /target:library /out:Something.xyz *.cs
    

C# コンパイラを起動してもオブジェクト (.obj) ファイルは作成されず、出力ファイルが直接作成されます。 このため、C# コンパイラにはリンカーが不要です。

表示: