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 usa 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 esa ventana desde el menú Inicio abriendo la carpeta Microsoft Visual Studio Version\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 la pantalla Inicio.
Si usa una ventana de símbolo del sistema estándar, debe ajustar la ruta de acceso antes de poder invocar a csc.exe desde cualquier subdirectorio del equipo. También debe ejecutar vsvars32.bat para establecer las variables de entorno adecuadas para admitir las compilaciones desde la línea de comandos. Para obtener más información sobre vsvars32.bat, incluyendo instrucciones para buscarlo y ejecutarlo, vea Cómo: Establecer variables de entorno para la línea de comandos de Visual Studio.
Cuando trabaje en un equipo que solo tenga Kit de desarrollo de software de Windows (SDK), puede emplear el compilador de C# en el Símbolo del sistema de SDK, que puede abrir desde la opción de menú Microsoft .NET Framework SDK.
También puede usar MSBuild para compilar programas de C# mediante programación. Para obtener más información, vea MSBuild.
El archivo ejecutable csc.exe suele encontrarse en la carpeta Microsoft.NET\Framework\Version en el directorio de 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 Determinar qué versión de .NET Framework está instalada.
Sugerencia |
---|
Cuando se compila un proyecto mediante el IDE de Visual Studio, puede mostrar el comando csc y las opciones del compilador asociadas en la ventana Resultados.Para mostrar esta información, siga las instrucciones de Cómo: Ver, guardar y configurar archivos de registro de compilación para cambiar el nivel de detalle de los datos del registro a Normal o Detallado.Una vez recompilado el proyecto, busque csc en la ventana Resultados para localizar 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 se crean archivos objeto (.obj) como resultado de invocar el compilador de C#; se crean directamente archivos de salida. 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#)
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#)