Referencia de la línea de comandos de MSBuild
Si usa MSBuild.exe para compilar un proyecto o archivo de solución, puede incluir varios modificadores para especificar distintos aspectos del proceso.
MSBuild.exe [Switches] [ProjectFile]
Argumentos
Argumento |
Descripción |
---|---|
ProjectFile |
Crea los destinos en el archivo de proyecto especificado. Si no se especifica un archivo de proyecto, MSBuild busca en el archivo de trabajo actual una extensión de nombre de archivo que termine en "proj" y usa ese archivo. También puede especificar un archivo de solución de Visual Studio para este argumento. |
Modificadores
Modificador |
Forma abreviada |
Descripción |
---|---|---|
/help |
/? o /h |
Muestra información de uso. El comando siguiente muestra un ejemplo: msbuild.exe /? |
/detailedsummary |
/ds |
Muestra información detallada al final del registro de compilación sobre las configuraciones que se compilaron y cómo se programaron en los nodos. |
/ignoreprojectextensions: extensions |
/ignore: extensions |
Omite las extensiones especificadas al determinar qué archivo de proyecto se va a compilar. Use un punto y coma o una coma para separar varias extensiones, como se muestra en el ejemplo siguiente: /ignoreprojectextensions:.vcproj,.sln |
/maxcpucount[:number] |
/m[:number] |
Especifica el número máximo de procesos simultáneos que se pueden usar al compilar. Si no incluye este modificador, el valor predeterminado es 1. Si incluye este modificador sin especificar un valor, MSBuild podrá usar todos los procesadores de que disponga el equipo. Para obtener más información, vea Compilar varios proyectos en paralelo con MSBuild. En el ejemplo siguiente se indica a MSBuild que efectúe la compilación usando tres procesos de MSBuild, lo que permite compilar tres proyectos al mismo tiempo: msbuild myproject.proj /maxcpucount:3 |
/noautoresponse |
/noautorsp |
No incluye automáticamente ningún archivo MSBuild.rsp. |
/nodeReuse:value |
/nr:value |
Habilita o deshabilita la reutilización de los nodos de MSBuild. Puede especificar los siguientes valores:
Un nodo corresponde a un proyecto que se está ejecutando. Si incluye el modificador /maxcpucount, se podrán ejecutar varios nodos simultáneamente. |
/nologo |
No muestra la pancarta de inicio ni el mensaje de copyright. |
|
/preprocess[:filepath] |
/pp[:filepath] |
Crea un solo archivo de proyecto agregado alineando todos los archivos que se importarían durante una compilación, con sus límites marcados. Puede usar este modificador para determinar con mayor facilidad qué archivos se van a importar, desde dónde y cuáles contribuirán a la compilación. Si se usa este modificador, el proyecto no se compila. Si especifica el parámetro filepath, el archivo de proyecto agregado se genera en el archivo. En caso contrario, los resultados aparecen en la ventana de la consola. Para obtener información sobre cómo usar el elemento Import para incrustar un archivo de proyecto en otro, vea Elemento Import (MSBuild) y Cómo: Utilizar el mismo destino en varios archivos de proyecto. |
/property:name=value |
/p:name=value |
Establece o invalida las propiedades en el nivel de proyecto especificadas, donde name es el nombre de la propiedad y value es el valor de propiedad. Especifique cada propiedad por separado, o use un punto y coma o una coma para separar varias propiedades, como se muestra en el ejemplo siguiente: /property:WarningLevel=2;OutDir=bin\Debug |
/target:targets |
/t:targets |
Compila los destinos especificados en el proyecto. Especifique cada destino por separado, o use un punto y coma o una coma para separar varios destinos, como se muestra en el ejemplo siguiente: /target:Resources;Compile Si especifica destinos usando este modificador, estos se ejecutarán en lugar de los especificados en el atributo DefaultTargets del archivo de proyecto. Para obtener más información, vea Orden de compilación de destinos y Cómo: Especificar qué destino utilizar primero al compilar. Un destino es un grupo de tareas. Para obtener más información, vea Objetivos de MSBuild. |
/toolsversion:version |
/tv:version |
Especifica la versión del conjunto de herramientas que se va a usar para compilar el proyecto, como se muestra en el ejemplo siguiente: /toolsversion:3.5 Mediante este modificador, puede compilar un proyecto y especificar una versión diferente de la especificada en el Elemento Project (MSBuild). Para obtener más información, vea Invalidar el valor de la versión de herramientas. En MSBuild 4.5, puede especificar los valores siguientes para version: 2.0, 3.5 y 4.0. Si especifica 4.0, la propiedad de compilación VisualStudioVersion especifica el subconjunto de herramientas que se va a usar. Para obtener más información, vea la sección de subconjuntos de herramientas de Conjunto de herramientas de MSBuild (ToolsVersion). Un conjunto de herramientas consta de tareas, destinos y herramientas que se utilizan para compilar una aplicación. Las herramientas incluyen compiladores como csc.exe y vbc.exe. Para obtener más información sobre los conjuntos de herramientas, vea Conjunto de herramientas de MSBuild (ToolsVersion), Configuraciones de conjuntos de herramientas estándar y personalizados y Información general sobre compatibilidad con múltiples versiones (multi-targeting) de MSBuild. Nota La versión del conjunto de herramientas no es la misma que la versión de .NET Framework de destino, que es la versión de .NET Framework para la que se compila un proyecto.Para obtener más información, vea Versión de .NET Framework de destino y plataforma de destino de MSBuild. |
/validate:[schema] |
/val[schema] |
Valida el archivo de proyecto y, si la validación es correcta, lo compila. Si no especifica schema, el proyecto se valida con el esquema predeterminado. Si especifica schema, el proyecto se valida con el esquema especificado. El valor siguiente muestra un ejemplo: /validate:MyExtendedBuildSchema.xsd |
/verbosity:level |
/v:level |
Especifica la cantidad de información que se va a mostrar en el registro de compilación. Cada registrador muestra eventos en función del nivel de detalle establecido para él. Puede especificar los niveles de detalles siguientes: q[uiet], m[inimal], n[ormal], d[etailed] y diag[nostic]. El valor siguiente muestra un ejemplo: /verbosity:quiet |
/version |
/ver |
Muestra solo la información de versión. El proyecto no se compila. |
@file |
Inserta los modificadores de línea de comando de un archivo de texto. Si tiene varios archivos, deberá especificarlos por separado. Para obtener más información, vea Archivos de respuesta de MSBuild. |
Modificadores para registradores
Modificador |
Forma abreviada |
Descripción |
---|---|---|
/consoleloggerparameters: parameters |
/clp:parameters |
Pasa los parámetros especificados al registrador de la consola, lo que muestra información de compilación en la ventana de la consola. Puede especificar los parámetros siguientes:
Use un punto y coma o una coma para separar varios parámetros, como se muestra en el ejemplo siguiente: /consoleloggerparameters:PerformanceSummary;NoSummary /verbosity:minimal |
/distributedFileLogger |
/dfl |
Registra los resultados de la compilación de cada nodo de MSBuild en su propio archivo. La ubicación inicial de estos archivos es el directorio actual. De forma predeterminada, estos archivos se denominan "MSBuildNodeId.log". Puede usar el modificador /fileLoggerParameters para especificar la ubicación de estos archivos y otros parámetros de fileLogger. Si asigna un nombre a un archivo de registro mediante el modificador /fileLoggerParameters, el registrador distribuido usará ese nombre como plantilla y anexará el identificador del nodo a dicho nombre al crear un archivo de registro para cada nodo. |
/distributedlogger: central logger* forwarding logger |
/dl:central logger*forwarding logger |
Registra eventos de MSBuild, adjuntando una instancia del registrador diferente a cada nodo. Para especificar varios registradores, hágalo por separado. Use la sintaxis de registrador para especificar un registrador. Para la sintaxis de registrador, vea el modificador /logger a continuación. En los ejemplos siguientes se muestra cómo utilizar este modificador: /dl:XMLLogger,MyLogger,Version=1.0.2,Culture=neutral /dl:MyLogger,C:\My.dll*ForwardingLogger,C:\Logger.dll |
/fileLogger [número] |
/fl[number] |
Registra el resultado de la compilación en un archivo único en el directorio actual. Si no especifica number, el archivo de salida se denomina msbuild.log. Si especifica number, el archivo de salida se denomina msbuildn.log, donde n es number. Number puede ser un dígito comprendido entre 1 y 9. Puede usar el modificador /fileLoggerParameters para especificar la ubicación de este archivo y otros parámetros de fileLogger. |
/fileloggerparameters:[número] parameters |
/flp:[ number] parameters |
Especifica parámetros adicionales del registrador de archivos y del registrador de archivos distribuido. La presencia de este modificador implica también la presencia del modificador /filelogger[number] correspondiente. Number puede ser un dígito comprendido entre 1 y 9. Puede usar todos los parámetros que se enumeran para /consoleloggerparameters. También puede utilizar uno o varios de los parámetros siguientes:
El ejemplo siguiente genera archivos de registro independientes para advertencias y errores: /flp1:logfile=errors.txt;errorsonly /flp2:logfile=warnings.txt;warningsonly En los ejemplos siguientes se muestran otras posibilidades: /fileLoggerParameters:LogFile=MyLog.log;Append; Verbosity=diagnostic;Encoding=UTF-8 /flp:Summary;Verbosity=minimal;LogFile=msbuild.sum /flp1:warningsonly;logfile=msbuild.wrn /flp2:errorsonly;logfile=msbuild.err |
/logger: logger |
/l:logger |
Especifica el registrador que se debe utilizar para registrar los eventos de MSBuild. Para especificar varios registradores, hágalo por separado. Utilice la sintaxis siguiente para logger: [LoggerClass,]LoggerAssembly[;LoggerParameters] Utilice la sintaxis siguiente para LoggerClass: [PartialOrFullNamespace.]LoggerClassName No necesita especificar la clase de registrador si el ensamblado contiene exactamente un registrador. Utilice la sintaxis siguiente para LoggerAssembly: {AssemblyName[,StrongName] | AssemblyFile} Los parámetros del registrador son opcionales y se pasan al registrador tal como se han escrito. En los ejemplos siguientes se usa el modificador /logger. /logger:XMLLogger,MyLogger,Version=1.0.2,Culture=neutral /logger:XMLLogger,C:\Loggers\MyLogger.dll;OutputAsHTML |
/noconsolelogger |
/noconlog |
Deshabilita el registrador de la consola predeterminado y no registra eventos en la consola. |
Ejemplo
En el siguiente ejemplo se compila el destino rebuild del proyecto MyProject.proj.
MSBuild.exe MyProject.proj /t:rebuild
Puede usar MSBuild.exe para realizar compilaciones más complejas. Por ejemplo, puede utilizarlo para compilar determinados destinos de proyectos específicos de una solución. En el ejemplo siguiente se recompila el proyecto NotInSolutionFolder y se "limpia" el proyecto InSolutionFolder, que está en la carpeta de soluciones NewFolder.
msbuild SlnFolders.sln /t:NotInSolutionfolder:Rebuild;NewFolder\InSolutionFolder:Clean
Vea también
Referencia
Propiedades comunes de proyectos de MSBuild