<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> 元素 编译器配置元素的容器;包含零个或多个 <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>

请参阅