Compartir a través de


<Elemento >compilador

Especifica los atributos de configuración del compilador para un proveedor de lenguaje.

<configuración>
  <system.codedom>
    <compiladores>
      <compiler>

Sintaxis

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

Atributos y elementos

En las siguientes secciones se describen los atributos, los elementos secundarios y los elementos primarios.

Atributos

Atributo Descripción
compilerOptions Atributo opcional.

Especifica argumentos adicionales específicos del compilador para la compilación. Los valores del compilerOptions atributo suelen aparecer en un tema de opciones del compilador para el compilador.
extension Atributo necesario.

Proporciona una lista separada por punto y coma de extensiones de nombre de archivo usadas por los archivos de origen para el proveedor de idioma. Por ejemplo, ".cs".
language Atributo necesario.

Proporciona una lista separada por punto y coma de nombres de idioma admitidos por el proveedor de idioma. Por ejemplo, "C#;cs;csharp".
type Atributo necesario.

Especifica el nombre del tipo de proveedor de lenguaje, incluyendo el nombre del ensamblaje que contiene la implementación del proveedor. El nombre de tipo debe cumplir los requisitos definidos en Especificar nombres de tipo completos.
warningLevel Atributo opcional.

Especifica el nivel de advertencia predeterminado del compilador; determina el nivel en el que el proveedor de lenguaje trata las advertencias de compilación como errores.

Elementos secundarios

Elemento Descripción
<providerOption>Elemento Especifica atributos de versión del compilador para un proveedor de lenguaje.

Elementos primarios

Elemento Descripción
Elemento <configuration> Elemento raíz de cada archivo de configuración usado por las aplicaciones de Common Language Runtime y .NET Framework.
Elemento <system.codedom> Especifica los valores de configuración del compilador para los proveedores de lenguaje disponibles.
Elemento <compiladores> Contenedor para los elementos de configuración del compilador; contiene cero o más elementos <compiler>.

Comentarios

Cada elemento <compiler> especifica los atributos de configuración del compilador para un proveedor de lenguaje específico. El proveedor extiende la clase System.CodeDom.Compiler.CodeDomProvider para un lenguaje específico; el elemento <compiler> define la configuración del compilador y del generador de código para el proveedor de lenguaje.

.NET Framework define la configuración inicial del compilador en el archivo de configuración del equipo (Machine.config). Los desarrolladores y los proveedores de compiladores pueden agregar valores de configuración para una nueva implementación de CodeDomProvider. Use el método CodeDomProvider.GetAllCompilerInfo para enumerar mediante programación los valores de configuración del compilador y del proveedor de lenguaje en un equipo.

Los elementos del compilador en la aplicación o en el archivo de configuración web pueden complementar o invalidar la configuración en el archivo de configuración de la máquina. Si se configura más de una implementación de proveedor para el mismo nombre de idioma o la misma extensión de archivo, la última configuración coincidente invalida los proveedores configurados anteriores para ese nombre de idioma o extensión de archivo.

Archivo de configuración

Este elemento se puede usar en el archivo de configuración del equipo o en el archivo de configuración de la aplicación.

Ejemplo

En el ejemplo siguiente se muestra un elemento típico de configuración del 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>

Vea también