Opciones del compilador de C#

En esta sección se describen las opciones que interpreta el compilador de C#. Las opciones se agrupan en artículos independientes en función de lo que controlan, por ejemplo, las características del lenguaje, la generación de código y la salida. Use la tabla de contenido para navegar por ellas.

Procedimiento para establecer las opciones

Hay dos formas de establecer las opciones del compilador en los proyectos de .NET:

  • En el archivo *.csproj

    Puede agregar propiedades MSBuild a cualquier opción del compilador en el archivo *.csproj en formato XML. El nombre de la propiedad es el mismo que el de la opción del compilador. El valor de la propiedad establece el valor de la opción del compilador. Por ejemplo, el siguiente fragmento de código de archivo de proyecto establece la propiedad LangVersion.

    <PropertyGroup>
      <LangVersion>preview</LangVersion>
    </PropertyGroup>
    

    Para obtener más información sobre el procedimiento para establecer las opciones en los archivos de proyecto, consulte el artículo Referencia de MSBuild para proyectos del SDK de .NET.

  • Uso de las páginas de propiedades de Visual Studio

    Visual Studio cuenta con páginas de propiedades para editar las propiedades de compilación. Para obtener más información al respecto, consulte Administrar propiedades de soluciones y proyectos (Windows) y Administrar propiedades de soluciones y proyectos (Mac).

Proyectos de .NET Framework

Importante

Esta sección solo se aplica a los proyectos de .NET Framework.

Además de los mecanismos descritos anteriormente, puede establecer las opciones del compilador por medio de dos métodos más para los proyectos de .NET Framework:

  • Argumentos de la línea de comandos para proyectos de .NET Framework: los proyectos de .NET Framework usan csc.exe en lugar de dotnet build para compilar los proyectos. En el caso de los proyectos de .NET Framework, puede especificar argumentos de la línea de comandos a csc.exe.
  • Páginas de ASP.NET compiladas: los proyectos de .NET Framework usan una sección del archivo web.config para compilar páginas. Para el nuevo sistema de compilación, así como los proyectos de ASP.NET Core, las opciones se toman del archivo del proyecto.

En el caso de algunas opciones del compilador, la palabra ha cambiado de csc.exe al nuevo sistema de MSBuild, y también para los proyectos de .NET Framework. En esta sección se emplea la nueva sintaxis. Ambas versiones figuran al principio de cada página. Para csc.exe, los argumentos figuran seguidos de la opción y dos puntos. Por ejemplo, la opción -doc sería:

-doc:DocFile.xml

Puede invocar el compilador de C# escribiendo el nombre de su archivo ejecutable (csc.exe) en un símbolo del sistema.

En el caso de los proyectos de .NET Framework, también puede ejecutar csc.exe mediante la línea de comandos. Cada opción del compilador está disponible en dos formatos: -option y /option. En los proyectos web de .NET Framework, debe especificar las opciones para compilar el código subyacente en el archivo web.config. Para obtener más información, consulte <compilador> Elemento.

Si usa la ventana Símbolo del sistema para desarrolladores de Visual Studio, todas las variables de entorno necesarias se establecen automáticamente. Para obtener información sobre cómo acceder a esta herramienta, vea Símbolo del sistema para desarrolladores de Visual Studio.

El archivo ejecutable csc.exe normalmente se encuentra en la carpeta Microsoft.NET\Framework\<Version>, en el directorio Windows. Su ubicación puede variar, según la configuración exacta de un equipo concreto. Si se instala más de una versión de .NET Framework en el equipo, encontrará varias versiones de este archivo. Para obtener más información sobre estas instalaciones, vea Cómo: Determinar qué versiones de .NET Framework están instaladas.