<compiler> 要素

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

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

属性および要素

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

属性

属性

説明

compilerOptions

省略可能な属性です。

コンパイル用のその他のコンパイラ固有引数を指定します。 compilerOptions 属性の値については、通常、コンパイラのコンパイラ オプションのトピックで説明されています。 Visual Studio 2005 のドキュメントで「コンパイラ オプション」というキーワードを検索すると、コンパイラのオプションについての説明を見つけることができます。

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>

参照

参照

CompilerInfo

CodeDomProvider

<compilers> 要素

compilation の compilers の compiler 要素 (ASP.NET 設定スキーマ)

概念

完全修飾型名の指定

その他の技術情報

.NET Framework の構成ファイル スキーマ