<compiler> 要素

言語プロバイダーのコンパイラ構成属性を指定します。

configuration
  system.codedom
    compilers
      compiler>

構文

<compiler
  language="languageName[;...;...]"
  extension="fileExtension[;...;...]"
  type="typeName, assemblyName"
  warningLevel="number"
  compilerOptions="option1 option2"
/>

属性および要素

以降のセクションでは、属性、子要素、および親要素について説明します。

属性

属性 説明
compilerOptions 省略可能な属性です。

コンパイル用の追加のコンパイラ固有の引数を指定します。 compilerOptions 属性の値は、通常、コンパイラのコンパイラ オプションのトピックに示されています。
extension 必須の属性です。

言語プロバイダーのソース ファイルで使用されるファイル名拡張子のセミコロン区切りのリストを提供します。 たとえば、".cs" とします。
language 必須の属性です。

言語プロバイダーでサポートされている言語名のセミコロン区切りのリストを提供します。 たとえば、"C#;cs;csharp" とします。
type 必須の属性です。

言語プロバイダーの型名を、プロバイダーの実装が含まれているアセンブリの名前を含めて指定します。 型名は、「完全修飾型名の指定」で定義されている要件を満たしている必要があります。
warningLevel 省略可能な属性です。

既定のコンパイラの警告レベルを指定します。言語プロバイダーでコンパイル警告をエラーとして扱うレベルを決定します。

子要素

要素 説明
providerOption> 要素 言語プロバイダーのコンパイラ バージョン属性を指定します。

親要素

要素 説明
configuration> 要素 共通言語ランタイムおよび .NET Framework アプリケーションで使用されるすべての構成ファイルのルート要素です。
system.codedom> 要素 使用可能な言語プロバイダーのコンパイラ構成設定を指定します。
compilers> 要素 0 個以上の <compiler> 要素を含むコンパイラ構成要素のコンテナー。

解説

<compiler> 要素によって、特定の言語プロバイダーのコンパイラ構成属性が指定されます。 プロバイダーは、特定の言語の System.CodeDom.Compiler.CodeDomProvider クラスを拡張します。<compiler> 要素では、言語プロバイダーのコンパイラとコード ジェネレーターの設定を定義します。

.NET Framework は、マシン構成ファイル (Machine.config) 内でコンパイラの初期設定を定義します。 開発者やコンパイラ ベンダーは、新しい CodeDomProvider の実装のために構成設定を追加することができます。 CodeDomProvider.GetAllCompilerInfo メソッドを使用して、プログラムによってコンピューターの言語プロバイダーとコンパイラ構成の設定を列挙します。

アプリケーションまたは Web 構成ファイル内のコンパイラ要素では、マシン構成ファイル内の設定を補完またはオーバーライドできます。 同じ言語名または同じファイル拡張子に対して複数のプロバイダー実装が構成されている場合、最後に一致した構成によって、その言語名またはファイル拡張子に対して以前に構成されたプロバイダーがオーバーライドされます。

構成ファイル

この要素は、マシン構成ファイルとアプリケーション構成ファイルで使用できます。

次の例は、一般的なコンパイラ構成要素を示しています。

<configuration>
  <system.codedom>
    <compilers>
      <!-- zero or more compiler elements -->
      <compiler
        language="c#;cs;csharp"
        extension=".cs"
        type="Microsoft.CSharp.CSharpCodeProvider, System,
          Version=2.0.3600.0, Culture=neutral,
          PublicKeyToken=b77a5c561934e089"
        compilerOptions="/optimize"
        warningLevel="1" />
    </compilers>
  </system.codedom>
</configuration>

関連項目