次の方法で共有


C# コンパイラ オプション

ここでは、C# コンパイラによって解釈されるオプションについて説明します。 オプションは、言語機能、コード生成、出力など、制御内容に基づいて個別の記事にグループ化されます。 目次を使用して、それらの間を移動します。

オプションの設定方法

.NET プロジェクトでコンパイラ オプションを設定する方法は次の 2 つです。

  • ご利用の *.csproj ファイル内

    XML 形式の *.csproj ファイルに、任意のコンパイラ オプションの MSBuild プロパティを追加できます。 プロパティ名はコンパイラ オプションと同じです。 プロパティの値によってコンパイラ オプションの値が設定されます。 たとえば、次のプロジェクト ファイル スニペットでは、LangVersion プロパティを設定します。

    <PropertyGroup>
      <LangVersion>preview</LangVersion>
    </PropertyGroup>
    

    プロジェクト ファイルでのオプションの設定の詳細については、.NET SDK プロジェクトの MSBuild プロパティに関する記事を参照してください。

  • Visual Studio のプロパティ ページの使用

    Visual Studio には、ビルド プロパティを編集するためのプロパティ ページがあります。 詳細については、Windows のプロジェクトおよびソリューションのプロパティの管理または Mac のプロジェクトおよびソリューションのプロパティの管理に関する記事を参照してください。

.NET Framework プロジェクト

重要

このセクションは、.NET Framework プロジェクトにのみ適用されます。

前述のメカニズムに加えて、.NET Framework プロジェクト用の 2 つの追加のメソッドを使用してコンパイラ オプションを設定できます。

  • .NET Framework プロジェクト用のコマンド ライン引数: .NET Framework プロジェクトでは、 ではなく csc.exe を使用してプロジェクトをビルドします。 .NET Framework プロジェクト用の csc.exe のコマンド ライン引数を指定できます。
  • コンパイルされた ASP.NET ページ: .NET Framework プロジェクトでは、web.config ファイルのセクションを使用してページをコンパイルします。 新しいビルド システムと ASP.NET Core プロジェクトの場合、オプションはプロジェクト ファイルから取得されます。

一部のコンパイラ オプションの単語は、csc.exe および .NET Framework プロジェクトから新しい MSBuild システムに変更されました。 このセクション全体では新しい構文が使用されます。 各ページの上部には両方のバージョンが表示されます。 csc.exe では、オプションとコロンの後に引数が表示されます。 たとえば、-doc オプションは次のようになります。

-doc:DocFile.xml

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

.NET Framework プロジェクトでは、コマンド ラインから csc.exe を実行することもできます。 すべてのコンパイル オプションは、 -option および /option という 2 つの形で使用できます。 .NET Framework Web プロジェクトでは、web.config ファイルでコードビハインドをコンパイルするためのオプションを指定します。 詳細については、「compiler> 要素」を参照してください。

Visual Studio 用開発者コマンド プロンプト ウィンドウを使用した場合、必要なすべての環境変数が設定されます。 このツールにアクセスする方法については、Visual Studio 用開発者コマンド プロンプトに関する記事を参照してください。

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