Elemento <compiler>

Especifica os atributos de configuração do compilador para um provedor de linguagem.

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

Syntax

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

Atributos e elementos

As seções a seguir descrevem atributos, elementos filho e elementos pai.

Atributos

Atributo Descrição
compilerOptions Atributo opcional.

Especifica argumentos adicionais específicos do compilador para compilação. Os valores do atributo compilerOptions normalmente são listados em um tópico de opções do compilador para o compilador.
extension Atributo obrigatório.

Fornece uma lista separada por ponto e vírgula de extensões de nome de arquivo usadas por arquivos de origem para o provedor de linguagem. Por exemplo, ".cs".
language Atributo obrigatório.

Fornece uma lista separada por ponto e vírgula de nomes de linguagem com suporte do provedor de linguagem. Por exemplo, "c#;cs;csharp".
type Atributo obrigatório.

Especifica o nome do tipo do provedor de linguagem, incluindo o nome do assembly que contém a implementação do provedor. O nome do tipo deve atender aos requisitos definidos na Especificação de nomes de tipo totalmente qualificados.
warningLevel Atributo opcional.

Especifica o nível padrão de aviso do compilador; determina o nível no qual o provedor de linguagem trata os avisos de compilação como erros.

Elementos filho

Elemento Descrição
<Elemento providerOption> Especifica os atributos de versão do compilador para um provedor de linguagem.

Elementos pai

Elemento Descrição
<Elemento configuration> O elemento raiz em cada arquivo de configuração usado pelos aplicativos do Common Language Runtime e .NET Framework.
<Elemento system.codedom> Especifica as definições de configuração do compilador para provedores de linguagem disponíveis.
<Elemento compilers> Contêiner de elementos de configuração do compilador. Contém zero ou mais elementos <compiler>.

Comentários

Cada elemento <compiler> especifica os atributos de configuração do compilador para um provedor de linguagem específico. O provedor estende a classe System.CodeDom.Compiler.CodeDomProvider para uma linguagem específica; o elemento <compiler> define as configurações do compilador e do gerador de código para o provedor de linguagem.

O .NET Framework define as configurações do compilador iniciais no arquivo de configuração do computador (Machine.config). Os desenvolvedores e fornecedores do compilador podem adicionar parâmetros de configuração em uma nova implementação do CodeDomProvider. Use o método CodeDomProvider.GetAllCompilerInfo para enumerar programaticamente as definições de configuração do compilador e do provedor de linguagem em um computador.

Elementos do compilador no aplicativo ou no arquivo de configuração da Web podem complementar ou substituir as configurações no arquivo de configuração do computador. Se mais de uma implementação de provedor estiver configurada para o mesmo nome de linguagem ou a mesma extensão de arquivo, a última configuração correspondente substituirá quaisquer provedores configurados anteriormente para esse nome de linguagem ou extensão de arquivo.

Arquivo de configuração

Esse elemento pode ser usado no arquivo de configuração de computador e no arquivo de configuração de aplicativo.

Exemplo

O exemplo a seguir ilustra um elemento típico de configuração do compilador:

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

Confira também