Share via


Compilar la línea de comandos con csc.exe

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

Si utiliza la ventana Símbolo del sistema de Visual Studio, todas las variables de entorno necesarias se establecen automáticamente.En Windows 7, puede tener acceso a la ventana desde el menú Inicio abriendo la carpeta de Microsoft Visual Studio Versión\visual \Visual Studio Tools \Visual Studio Tools.En Windows 8, el símbolo del sistema de Visual Studio se denomina Símbolo del sistema para desarrolladores de VS2012, y puede encontrarlo buscando desde el principio en la pantalla.

Si utiliza una ventana de símbolo del sistema estándar, debe ajustar la ruta antes de poder invocar csc.exe de cualquier subdirectorio del equipo.También debe ejecutar vsvars32.bat para establecer las variables de entorno adecuadas para admitir compilaciones de línea de comandos.Para obtener más información sobre vsvars32.bat, incluidas instrucciones para buscar y ejecutar, vea Cómo: Establecer variables de entorno.

Si trabaja en un equipo que sólo tenga Kit de desarrollo de software de Windows (SDK), puede utilizar el compilador de C# en Símbolo del sistema de SDK de SDK, que abra de la opción de menú Microsoft.NET Framework SDK.

También puede utilizar MSBuild para compilar los programas de C# mediante programación.Para obtener más información, vea MSBuild.

El archivo ejecutable de csc.exe normalmente se encuentra en el \Framework Microsoft.NET \ la carpeta de Versión bajo el directorio de Windows.La ubicación puede variar dependiendo de la configuración exacta de un equipo determinado.Si más de una versión de .NET Framework instalada en el equipo, verá varias versiones de este archivo.Para obtener más información sobre estas instalaciones, vea Determinar qué versión de .NET Framework está instalada.

SugerenciaSugerencia

Cuando se compila un proyecto mediante el IDE de Visual Studio, puede mostrar el comando csc y las opciones de compilador asociadas en la ventana Resultado.Para mostrar esta información, siga las instrucciones de Cómo: Ver, guardar y configurar archivos de registro de compilación de cambiar el nivel de detalle de los datos de registro a normal o a Detallado.Después de que se recompile el proyecto, busque la ventana Resultado para que csc busque la invocación del compilador de C#.

En este tema

  • Reglas para la sintaxis de la línea de comandos

  • Líneas de comandos de ejemplo

  • Diferencias entre los resultados del compilador de C# y el compilador de C++

Reglas para la sintaxis de línea de comandos del compilador de C#

El compilador de C# utiliza las siguientes reglas para interpretar los argumentos empleados en la línea de comandos del sistema operativo:

  • Los argumentos van delimitados por espacio en blanco, que puede ser un carácter de espacio o una tabulación.

  • El carácter de intercalación (^) no se reconoce como carácter de escape ni como delimitador.El analizador de la línea de comandos del sistema operativo procesa este carácter antes de pasarlo a la matriz argv del programa.

  • Una cadena entre comillas ("cadena") se interpreta como un solo argumento, sin importar el espacio en blanco que contenga.Se puede incrustar una cadena entre comillas dentro de un argumento.

  • Unas comillas precedidas por una barra diagonal inversa (\") se interpretan como un literal de cadena de comillas (").

  • Las barras diagonales inversas se interpretan literalmente, a menos que precedan inmediatamente a unas comillas.

  • Si a un número par de barras diagonales inversas le siguen unas comillas, se coloca una barra diagonal inversa en la matriz argv por cada par de barras diagonales y se interpretan las comillas como delimitador de cadenas.

  • Si a un número impar de barras diagonales inversas le siguen unas comillas, se coloca una barra diagonal inversa en la matriz argv por cada par de barras diagonales y se interpretan las comillas como un carácter de escape gracias a la barra diagonal restante.Esto hace que se agregue un literal de comillas dobles (") a argv.

Líneas de comandos de ejemplo para el compilador de C#

  • Compila File.cs y genera File.exe:

    csc File.cs 
    
  • Compila File.cs y genera File.dll:

    csc /target:library File.cs
    
  • Compila File.cs y crea My.exe:

    csc /out:My.exe File.cs
    
  • Compila todos los archivos de C# del directorio actual, con optimizaciones activadas, y define el símbolo DEBUG.Como resultado se genera el archivo File2.exe:

    csc /define:DEBUG /optimize /out:File2.exe *.cs
    
  • Compila todos los archivos de C# del directorio actual, generando una versión de depuración de File2.dll.No se muestra logotipo ni ningún tipo de advertencias:

    csc /target:library /out:File2.dll /warn:0 /nologo /debug *.cs
    
  • Compila todos los archivos de C# del directorio actual, generando Something.xyz (una DLL):

    csc /target:library /out:Something.xyz *.cs
    

Diferencias entre los resultados del compilador de C# y el compilador de C++

No hay archivos objeto (.obj) creados como resultado de invocar el compilador de C#; los archivos de salida se crean directamente.Como consecuencia de ello, el compilador de C# no requiere un vinculador.

Vea también

Tareas

Cómo: Mostrar argumentos de la línea de comandos (Guía de programación de C#)

Cómo: Obtener acceso a argumentos de la línea de comandos utilizando Foreach (Guía de programación de C#)

Referencia

Opciones del compilador de C#, por orden alfabético

Opciones del compilador de C#, por categoría

Argumentos de la línea de comandos (Guía de programación de C#)

Valores devueltos de Main() (Guía de programación de C#)

Conceptos

Main() y argumentos de línea de comandos (Guía de programación de C#)

Otros recursos

Opciones del compilador de C#