Элемент <compiler><compiler> Element

Задает атрибуты конфигурации компилятора для поставщика языка.Specifies the compiler configuration attributes for a language provider.

<configuration>
  <system.codedom>
    <compilers>
      <compiler>

СинтаксисSyntax

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

Атрибуты и элементыAttributes and Elements

В следующих разделах описаны атрибуты, дочерние и родительские элементы.The following sections describe attributes, child elements, and parent elements.

АтрибутыAttributes

АтрибутAttribute ОписаниеDescription
compilerOptions Необязательный атрибут.Optional attribute.

Задает дополнительные зависящие от компилятора аргументы для компиляции.Specifies additional compiler-specific arguments for compilation. Значения для compilerOptions атрибута обычно перечислены в разделе параметров компилятора для компилятора.The values for the compilerOptions attribute are typically listed in a compiler options topic for the compiler.
extension Обязательный атрибут.Required attribute.

Предоставляет разделенный точками с запятой список расширений имен файлов, используемых исходными файлами для поставщика языка.Provides a semicolon-separated list of file name extensions used by source files for the language provider. Например, ".cs".For example, ".cs".
language Обязательный атрибут.Required attribute.

Предоставляет разделенный точками с запятой список имен языков, поддерживаемых поставщиком языка.Provides a semicolon-separated list of language names supported by the language provider. Например, "C#;cs;csharp".For example, "c#;cs;csharp".
type Обязательный атрибут.Required attribute.

Указывает имя типа поставщика языка, включая имя сборки, содержащей реализацию поставщика.Specifies the type name of the language provider, including the name of the assembly containing the provider implementation. Имя типа должно соответствовать требованиям, определенным при указании полных имен типов.The type name must meet the requirements defined in Specifying Fully Qualified Type Names.
warningLevel Необязательный атрибут.Optional attribute.

Задает уровень предупреждений компилятора по умолчанию. Определяет уровень, на котором поставщик языка рассматривает предупреждения компиляции как ошибки.Specifies the default compiler warning level; determines the level at which the language provider treats compilation warnings as errors.

Дочерние элементыChild Elements

ЭлементElement ОписаниеDescription
<providerOption> Элемент<providerOption> Element Указывает атрибуты версии компилятора для поставщика языка.Specifies compiler version attributes for a language provider.

Родительские элементыParent Elements

ЭлементElement ОписаниеDescription
<configuration> Элемент<configuration> Element Корневой элемент в любом файле конфигурации, используемом средой CLR и приложениями .NET Framework.The root element in every configuration file used by the common language runtime and .NET Framework applications.
<system.codedom> Элемент<system.codedom> Element Задает параметры конфигурации компилятора для доступных поставщиков языков.Specifies compiler configuration settings for available language providers.
<compilers> Элемент<compilers> Element Контейнер для элементов конфигурации компилятора; содержит ноль или более <compiler> элементов.Container for compiler configuration elements; contains zero or more <compiler> elements.

ПримечанияRemarks

Каждый <compiler> элемент задает атрибуты конфигурации компилятора для конкретного поставщика языка.Each <compiler> element specifies the compiler configuration attributes for a specific language provider. Поставщик расширяет System.CodeDom.Compiler.CodeDomProvider класс для конкретного языка; <compiler> элемент определяет параметры компилятора и генератора кода для поставщика языка.The provider extends the System.CodeDom.Compiler.CodeDomProvider class for a specific language; the <compiler> element defines the compiler and code generator settings for the language provider.

В .NET Framework начальные параметры компилятора определены файле конфигурации компьютера (Machine.config).The .NET Framework defines the initial compiler settings in the machine configuration file (Machine.config). Разработчики и поставщики компиляторов могут добавлять параметры конфигурации для новой реализации CodeDomProvider.Developers and compiler vendors can add configuration settings for a new CodeDomProvider implementation. С помощью метода CodeDomProvider.GetAllCompilerInfo можно осуществлять программное перечисление параметров конфигурации для поставщиков языков и компиляторов на компьютере.Use the CodeDomProvider.GetAllCompilerInfo method to programmatically enumerate language provider and compiler configuration settings on a computer.

Элементы компилятора в файле приложения или веб-конфигурации могут дополнять или переопределять параметры в файле конфигурации компьютера.Compiler elements in the application or Web configuration file can supplement or override the settings in the machine configuration file. Если для одного и того же имени языка или одного расширения файла настроено несколько реализаций поставщика, последняя конфигурация сопоставления переопределяет все предыдущие настроенные поставщики для этого имени языка или расширения файла.If more than one provider implementation is configured for the same language name or the same file extension, the last matching configuration overrides any previous configured providers for that language name or file extension.

Файл конфигурацииConfiguration File

Этот элемент можно использовать в файле конфигурации компьютера и файле конфигурации приложения.This element can be used in the machine configuration file and the application configuration file.

ПримерExample

В следующем примере показан типичный элемент конфигурации компилятора:The following example illustrates a typical compiler configuration element:

<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>

См. такжеSee also