Csc (tarea)

Contiene csc.exe y genera archivos ejecutables ( .exe), archivos de biblioteca de vínculos dinámicos ( .dll) o archivos de módulos de códigos ( .netmodule). Para obtener más información sobre csc.exe, vea Opciones del compilador de C#.

Parámetros

En la siguiente tabla se describen los parámetros de la tarea Csc .

Parámetro Descripción
AdditionalLibPaths Parámetro String[] opcional.

Especifica más directorios donde buscar referencias. Para obtener más información, vea -lib (Opciones del compilador de C#).
AddModules Parámetro String opcional.

Especifica uno o varios módulos que formarán parte del ensamblado. Para obtener más información, vea -addmodule (Opciones del compilador de C#).
AllowUnsafeBlocks Parámetro Boolean opcional.

Si true, compila el código que utiliza la palabra clave unsafe. Para obtener más información, vea -unsafe (Opciones del compilador de C#).
ApplicationConfiguration Parámetro String opcional.

Especifique el archivo de configuración de la aplicación que contiene una configuración de enlace de ensamblados.
BaseAddress Parámetro String opcional.

Especifica la dirección base preferida para cargar una DLL. La dirección base predeterminada para un archivo DLL se establece mediante Common Language Runtime de .NET Framework. Para obtener más información, vea -baseaddress (Opciones del compilador de C#).
CheckForOverflowUnderflow Parámetro Boolean opcional.

Especifica si la aritmética de enteros que desborda los límites del tipo de datos inicia una excepción en tiempo de ejecución. Para obtener más información, vea -checked (Opciones del compilador de C#).
ChecksumAlgorithm Parámetro String opcional.

Especifica el algoritmo para calcular la suma de comprobación del archivo de origen almacenada en el archivo PDB. El algoritmo debe ser SHA1 (valor predeterminado) o SHA256. Consulte ChecksumAlgorithm.
CodeAnalysisRuleset Parámetro String opcional.

Especifica un archivo de conjunto de reglas que deshabilita diagnósticos específicos. Consulte CodeAnalysisRuleset.
CodePage Parámetro Int32 opcional.

Especifica la página de códigos que se va a usar para todos los archivos de código fuente de la compilación. Para obtener más información, vea -codepage (Opciones del compilador de C#).
DebugType Parámetro String opcional.

Especifica el tipo de depuración. DebugType puede ser full o pdbonly. El valor predeterminado es full, que permite a un depurador adjuntarlo a un programa en ejecución. Especificar pdbonly permite depurar el código fuente cuando el programa se inicia en el depurador, pero solo mostrará el ensamblador cuando el programa que se ejecuta está asociado al depurador.

Este parámetro invalida el parámetro EmitDebugInformation.

Para obtener más información, vea -debug (Opciones del compilador de C#).
DefineConstants Parámetro String opcional.

Define los símbolos de preprocesador. Para obtener más información, vea -define (Opciones del compilador de C#).
DelaySign Parámetro Boolean opcional.

Si true, especifica que solo quiere colocar la clave pública en el ensamblado. Si false, especifica que quiere un ensamblado completamente firmado.

Este parámetro no tiene ningún efecto a menos que se utilice con el parámetro KeyFile o KeyContainer.

Para obtener más información, vea -delaysign (Opciones del compilador de C#).
Deterministic Parámetro Boolean opcional.

Si es true, hace que el compilador genere un ensamblado cuyo contenido binario es idéntico en todas las compilaciones si las entradas son idénticas.

Para obtener más información, vea -deterministic (Opciones del compilador de C#).
DisabledWarnings Parámetro String opcional.

Especifica la lista de advertencias que se va a desactivar. Para obtener más información, vea -nowarn (Opciones del compilador de C#).
DocumentationFile Parámetro String opcional.

Procesa los comentarios de documentación generando un archivo XML. Para obtener más información, vea -doc (Opciones del compilador de C#).
EmbedAllSources Parámetro Boolean opcional.

Insertar todos los archivos de origen en el archivo PDB Para obtener más información, vea -embed (Opciones del compilador de C#).
EmitDebugInformation Parámetro Boolean opcional.

Si true, la tarea genera información de depuración y la coloca en un archivo de base de datos del programa (.pdb). Si false, la tarea no emite ninguna información de depuración. El valor predeterminado es false. Para obtener más información, vea -debug (Opciones del compilador de C#).
ErrorLog Parámetro String opcional.

Especifica un archivo para registrar todos los diagnósticos del compilador y el analizador. Consulte ErrorLog.
ErrorReport Parámetro String opcional.

Proporciona una forma cómoda para notificar un error interno de C# a Microsoft. Este parámetro puede tener un valor de prompt, send o none. Si el parámetro se establece en prompt, recibirá un mensaje cuando se produzca un error interno del compilador. El mensaje le permite enviar un informe de errores a Microsoft por vía electrónica. Si el parámetro se establece en send, se envía automáticamente un informe de errores. Si el parámetro se establece en none, el error solo se notifica en la salida de texto del compilador. El valor predeterminado es none. Para obtener más información, vea -errorreport (Opciones del compilador de C#).
FileAlignment Parámetro Int32 opcional.

Especifica el tamaño de las secciones del archivo de salida. Para obtener más información, vea -filealign (Opciones del compilador de C#).
GenerateFullPaths Parámetro Boolean opcional.

Si true, especifica la ruta de acceso absoluta al archivo en los resultados del compilador. Si false, especifica el nombre del archivo. El valor predeterminado es false. Para obtener más información, vea -fullpaths (Opciones del compilador de C#).
HighEntropyVA Parámetro Boolean opcional.

Se habilita la selección aleatoria del diseño del espacio de direcciones (ASLR) de alta entropía. Consulte HighEntropyVA.
KeyContainer Parámetro String opcional.

Especifica el nombre del contenedor de claves criptográficas. Para obtener más información, vea -keycontainer (Opciones del compilador de C#).
KeyFile Parámetro String opcional.

Especifica el nombre de archivo que contiene la clave criptográfica. Para obtener más información, vea -keyfile (Opciones del compilador de C#).
LangVersion Parámetro String opcional.

Especifica la versión del idioma que se va a usar. Para obtener más información, vea -langversion (Opciones del compilador de C#).
LinkResources Parámetro ITaskItem[] opcional.

Crea un vínculo a un recurso de .NET Framework en el archivo de salida; el archivo de recursos no se coloca en el archivo de salida.

Los elementos que se pasan a este parámetro pueden tener entradas de metadatos opcionales denominadas LogicalName y Access. LogicalName corresponde al parámetro identifier del modificador /linkresource y Access corresponde al parámetro accessibility-modifier. Para obtener más información, vea -linkresource (Opciones del compilador de C#).
MainEntryPoint Parámetro String opcional.

Especifica la ubicación del método Main. Para obtener más información, vea -main (Opciones del compilador de C#).
ModuleAssemblyName Parámetro String opcional.

Especifica el nombre del ensamblado del que este módulo formará parte.
NoConfig Parámetro Boolean opcional.

Si es true, indica al compilador que no compile con el archivo csc.rsp. Para obtener más información, vea -noconfig (Opciones del compilador de C#).
NoLogo Parámetro Boolean opcional.

Si true, suprime la visualización de la información de encabezado del compilador. Para obtener más información, vea -nologo (Opciones del compilador de C#).
NoStandardLib Parámetro Boolean opcional.

Si true, impide la importación del archivo mscorlib.dll, que define el espacio de nombres System completo. Utilice este parámetro si quiere definir o crear sus propios objetos y su espacio de nombres System. Para obtener más información, vea -nostdlib (Opciones del compilador de C#).
NoWin32Manifest Parámetro Boolean opcional.

Si true, no incluya el manifiesto Win32 predeterminado.
Nullable Parámetro String opcional.

Especifica el contexto que admite un valor NULL. El argumento debe ser uno de enable, disable, warnings o annotations. Consulte Nullable.
Optimize Parámetro Boolean opcional.

Si true, activa las optimizaciones. Si false, desactiva las optimizaciones. Para obtener más información, vea -optimize (Opciones del compilador de C#).
OutputAssembly Parámetro de salida String opcional.

Especifica el nombre del archivo de salida. Para obtener más información, vea -out (Opciones del compilador de C#).
OutputRefAssembly Parámetro String opcional.

Especifica el nombre del archivo de ensamblado de referencia de salida. Para obtener más información, vea -refout (Opciones del compilador de C#).
PathMap Parámetro String opcional.

Especifica cómo asignar rutas físicas a nombres de ruta de origen generados por el compilador. Consulte PathMap.
PdbFile Parámetro String opcional.

Especifica el nombre del archivo de información de depuración. El nombre predeterminado es el nombre del archivo de salida con una extensión .pdb.
Platform Parámetro String opcional.

Especifica la plataforma del procesador que debe destinar el archivo de salida. Este parámetro puede tener un valor de x86, x64 o anycpu. El valor predeterminado es anycpu. Para obtener más información, vea -platform (Opciones del compilador de C#).
PreferredUILang Parámetro String opcional.

Especifica el idioma en el que el compilador de C# muestra el resultado, como los mensajes de error. Consulte PreferredUILang.
PublicSign Parámetro Boolean opcional.

Se firma el ensamblado de salida públicamente. Consulte PublicSign.
References Parámetro ITaskItem[] opcional.

Hace que la tarea importe información de tipo pública de los elementos especificados en el proyecto actual. Para obtener más información, vea -reference (Opciones del compilador de C#).

Si quiere especificar un alias de referencia de C# en un archivo de MSBuild, agregue los metadatos Aliases al elemento "Reference" original. Por ejemplo, para establecer el alias "LS1" en la siguiente línea de comandos Csc:

CSC /r:LS1=MyCodeLibrary.dll /r:LS2=MyCodeLibrary2.dll *.cs

debe utilizar:

<Reference Include="MyCodeLibrary"> <Aliases>LS1</Aliases> </Reference>
RefOnly Parámetro Boolean opcional.

Se genera un ensamblado de referencia, en lugar de un ensamblado completo, como salida principal. Consulte ProduceOnlyReferenceAssembly.
ReportAnalyzer Parámetro Boolean opcional.

Notifica información adicional del analizador, como el tiempo de ejecución. Consulte ReportAnalyzer.
Resources Parámetro ITaskItem[] opcional.

Incrusta un recurso de .NET Framework en el archivo de salida.

Los elementos que se pasan a este parámetro pueden tener entradas de metadatos opcionales denominadas LogicalName y Access. LogicalName corresponde al parámetro identifier del modificador /resource y Access corresponde al parámetro accessibility-modifier. Para obtener más información, vea -resource (Opciones del compilador de C#).
ResponseFiles Parámetro String opcional.

Especifica el archivo de respuesta que contiene comandos para esta tarea. Para obtener más información, vea @ (Especificar archivo de respuesta).
Sources Parámetro ITaskItem[] opcional.

Especifica uno o varios archivos de origen de C#.
TargetType Parámetro String opcional.

Especifica el formato del archivo de salida. Este parámetro puede tener un valor de library, que crea una biblioteca de código, exe, que crea una aplicación de consola, module, que crea un módulo, o winexe, que crea un programa de Windows. El valor predeterminado es library. Para obtener más información, vea -target (Opciones del compilador de C#).
TreatWarningsAsErrors Parámetro Boolean opcional.

Si true, trata todas las advertencias como errores. Para obtener más información, vea -warnaserror (Opciones del compilador de C#).
UseHostCompilerIfAvailable Parámetro Boolean opcional.

Indica a la tarea que utilice el objeto de compilador en proceso, si está disponible. Usado solamente por Visual Studio.
Utf8Output Parámetro Boolean opcional.

Registra los resultados del compilador mediante la codificación UTF-8. Para obtener más información, vea -utf8output (Opciones del compilador de C#).
WarningLevel Parámetro Int32 opcional.

Especifica el nivel de advertencia que debe mostrar el compilador. Para obtener más información, vea -warn (Opciones del compilador de C#).
WarningsAsErrors Parámetro String opcional.

Especifica una lista de advertencias que se tratarán como errores. Para obtener más información, vea -warnaserror (Opciones del compilador de C#).

Este parámetro invalida el parámetro TreatWarningsAsErrors.
WarningsNotAsErrors Parámetro String opcional.

Especifica una lista de advertencias que no se tratarán como errores. Para obtener más información, vea -warnaserror (Opciones del compilador de C#).

Este parámetro solo es útil si el parámetro TreatWarningsAsErrors está establecido en true.
Win32Icon Parámetro String opcional.

Inserta un archivo .ico en el ensamblado, lo que proporciona al archivo de salida la apariencia deseada en el Explorador de archivos. Para obtener más información, vea -win32icon (Opciones del compilador de C#).
Win32Manifest Parámetro String opcional.

Especifica el manifiesto de Win32 que se incluirá.
Win32Resource Parámetro String opcional.

Inserta un recurso de Win32 (archivo .res) en el archivo de salida. Para obtener más información, vea -win32res (Opciones del compilador de C#).

Parámetros de ToolTaskExtension

Esta tarea hereda de la clase ToolTaskExtension, que hereda de la clase ToolTask, la cual, a su vez, hereda de la clase Task. Esta cadena de herencia agrega varios parámetros a las tareas que derivan de ellos.

En la siguiente tabla se describen los parámetros de las clases base:

Parámetro Descripción
EchoOff Parámetro bool opcional.

Cuando se establece en true, esta tarea pasa /Q a la línea de comandos cmd.exe de modo que la línea de comandos no se copia en stdout.
EnvironmentVariables Parámetro de matriz String opcional.

Matriz de definiciones de variables de entorno, separadas por punto y coma. Cada definición debe especificar un valor y un nombre para la variable de entorno separados por un signo igual. Estas variables se pasan al ejecutable generado y, además, pasan el bloque de entorno normal o lo invalidan de manera selectiva. Por ejemplo, Variable1=Value1;Variable2=Value2.
ExitCode Parámetro de solo lectura de salida Int32 opcional.

Especifica el código de salida proporcionado por el comando ejecutado. Si la tarea registró errores pero el proceso tenía un código de salida de 0 (correcto), se establece en -1.
LogStandardErrorAsError Parámetro bool opcional.

Si true, todos los mensajes recibidos en el flujo de error estándar se registran como errores.
StandardErrorImportance Parámetro String opcional.

Importancia con la que se va a registrar el texto de la secuencia de error estándar.
StandardOutputImportance Parámetro String opcional.

Importancia con la que se va a registrar el texto de la secuencia de salida estándar.
Timeout Parámetro Int32 opcional.

Especifica el tiempo en milisegundos después del cual se termina la tarea ejecutable. El valor predeterminado es Int.MaxValue, que indica que no hay período de tiempo de espera. Tiempo de espera en milisegundos.
ToolExe Parámetro string opcional.

Los proyectos pueden implementarlo para invalidar ToolName. Las tareas pueden invalidarlo para conservar ToolName.
ToolPath Parámetro string opcional.

Especifica la ubicación desde donde la tarea carga el archivo ejecutable subyacente. Si no se especifica este parámetro, la tarea usa la ruta de instalación del SDK que se corresponde con la versión del marco de trabajo que está ejecutando MSBuild.
UseCommandProcessor Parámetro bool opcional.

Cuando se establece en true, esta tarea crea un archivo por lotes para la línea de comandos y lo ejecuta mediante el procesador de comandos, en lugar de ejecutar el comando directamente.
YieldDuringToolExecution Parámetro bool opcional.

Cuando se establece en true, esta tarea produce el nodo cuando se ejecuta la tarea.

Ejemplo

En el ejemplo siguiente se utiliza la tarea Csc para compilar un ejecutable de los archivos de origen en la colección de elementos Compile.

<CSC
    Sources="@(Compile)"
    OutputAssembly="$(AppName).exe"
    EmitDebugInformation="true" />

Vea también