Compartir a través de


Referencia de la línea de comandos de MSBuild

MSBuild.exe compila el archivo de proyecto o de solución especificado con las opciones indicadas.

MSBuild.exe [Switches] [ProjectFile]

Argumentos

Argumento

Descripción

ProjectFile

Compila los destinos especificados en el archivo de proyecto. 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 utiliza ese archivo. Este argumento también acepta archivos de solución de Visual Studio 2005.

Modificadores

Modificador

Descripción

/help

Muestra información de uso. /? o /h también se aceptan. Por ejemplo:

Msbuild.exe /?

/nologo

Oculta la pancarta de inicio y el mensaje de copyright.

/version

Muestra únicamente la información de versión. /ver también se acepta.

@file

Inserta la configuración de línea de comandos desde un archivo de texto. Cada archivo de respuesta se especifica por separado. Para obtener más información, vea Archivos de respuesta de MSBuild.

/noautoresponse

No incluye automáticamente el archivo MSBuild.rsp. /noautorsp también se acepta.

/target:targets

Compila estos destinos en el proyecto. Utilice un punto y coma o una coma para separar varios destinos, o bien especifique cada destino por separado. /t también se acepta. Por ejemplo:

/target:Resources;Compile

/property:name=value

Establece o invalida estas propiedades en el nivel de proyecto, donde name es el nombre de la propiedad y value es el valor de la propiedad. Utilice un punto y coma o una coma para separar varias propiedades, o bien especifique cada propiedad por separado. /p también se acepta. Por ejemplo:

/property:WarningLevel=2;OutputDir=bin\Debug

/logger:logger

Especifica el registrador que se debe utilizar para registrar los eventos de MSBuild. Para especificar varios registradores, hágalo por separado.

La sintaxis del registrador es:

[LoggerClass,]LoggerAssembly[;LoggerParameters]

La sintaxis de LoggerClass es la siguiente:

[PartialOrFullNamespace.]LoggerClassName

NotaNota
No necesita especificar la clase de registrador si hay exactamente un registrador en el ensamblado.

La sintaxis de LoggerAssembly es la siguiente:

{AssemblyName[,StrongName] | AssemblyFile}

Los parámetros del registrador son opcionales y se pasan al registrador tal como se han escrito. Por ejemplo:

/logger:XMLLogger,C:\Loggers\MyLogger.dll;OutputAsHTML

/distributedlogger:<registrador central>*<registrador de reenvío>

Utilice este registrador para registrar los eventos de MSBuild. Para especificar varios registradores, hágalo por separado. (Forma abreviada: /dl)

La sintaxis de <registrador> es:

[<clase de registrador>,]<ensamblado del registrador>[;<parámetros del registrador>]

La sintaxis de <clase de registrador> es:

[<espacio de nombres parcial o completo>.]<nombre de la clase de registrador>

La sintaxis de <ensamblado del registrador> es: {<nombre del ensamblado>[,<nombre seguro>] | <archivo de ensamblado>}

Los <parámetros del registrador> son opcionales y se pasan al registrador exactamente tal y como los escriba. (Forma abreviada: /l)

Ejemplos: /dl:XMLLogger,MyLogger,Version=1.0.2,Culture=neutral

/dl:MyLogger,C:\My.dll*ForwardingLogger,C:\Logger.dll

/consoleloggerparameters:parameters

Especifica los parámetros que se deben pasar al registrador de consola. /clp también se acepta. Los parámetros disponibles son los siguientes:

  • PerformanceSummary: muestra el tiempo dedicado a tareas, destinos y proyectos.

  • NoSummary: Oculta el resumen de errores y advertencias que se muestra al final de una compilación.

  • NoItemAndPropertyList: oculta la lista de elementos y propiedades que se muestra al principio de cada compilación de proyecto con el nivel de detalle diagnostic.

/verbosity:level

Muestra esta cantidad de información en el registro de eventos. Cada registrador muestra los eventos en función del nivel de detalle. Un registrador también se puede configurar para omitir la configuración del nivel de detalle.

Los niveles de contenido disponibles son q[uiet], m[inimal], n[ormal], d[etailed] y diag[nostic]. /v también se acepta. Por ejemplo:

/verbosity:quiet

/noconsolelogger

Deshabilita el registrador de consola predeterminado y no se registran los eventos en la consola. /noconlog también se acepta.

/validate:schema

Valida el archivo de proyecto y, si es correcto, compila el proyecto.

Si no se especifica schema, valida el proyecto con el esquema predeterminado.

Si se especifica schema, valida el proyecto con el esquema especificado.

/maxcpucount:number

Especifica el número de procesos de trabajo que están implicados en la compilación. Por ejemplo: C:\Windows\WinFX\v3.5>msbuild.exe *.proj /maxcpucount:3. En este ejemplo se indica a MSBuild que compile utilizando tres procesos de MSBuild.exe, lo que permite compilar tres proyectos en paralelo. /m también se acepta.

/ignoreprojectextensions:<extensiones>

Lista de extensiones que se omitirán cuando se determine el archivo de proyecto que se va a compilar. Utilice punto y coma o coma para separar las diferentes extensiones. (Forma abreviada: /ignore) Ejemplo: /ignoreprojectextensions:.vcproj,.sln

/fileLogger

Registra el resultado de la compilación en un archivo único ("msbuild.log") en el directorio actual. La ubicación del archivo y otros parámetros de fileLogger se pueden especificar agregando el modificador "/fileLoggerParameters". (Forma abreviada: /fl)

/distributedFileLogger

Registra el resultado de la compilación en varios archivos de registro, uno por cada nodo de MSBuild. La ubicación inicial de estos archivos es el directorio actual. De forma predeterminada, los archivos se denominan "MSBuild <id de nodo> .log". La ubicación de los archivos y otros parámetros de fileLogger se pueden especificar agregando el modificador "/fileLoggerParameters".

Si se establece un nombre de archivo de registro con el modificador fileLoggerParameters, el registrador distribuido utilizará fileName como plantilla y anexará el id. del nodo a este fileName para crear un archivo de registro para cada nodo.

/fileloggerparameters:<parámetros>

Especifica los parámetros del registrador de archivos y del registrador de archivos distribuido. (Forma abreviada: /flp)

Puede utilizar hasta diez registradores de archivos siguiendo el parámetro con un dígito que identifica el registrador. Por ejemplo, para generar archivos de registro independientes para advertencias y errores, utilice /flp1:logfile=errors.txt;errorsonly /flp2:logfile=warnings.txt;warningsonly

Los parámetros disponibles son:

LogFile: ruta del archivo de registro donde se escribe el registro de compilación. El registrador de archivos distribuido lo utiliza como prefijo en los nombres de los archivos de registro.

Append: determina si el registro de compilación se anexará o sobrescribirá el archivo de registro. Cuando se establece el modificador, el registro de compilación se anexa al archivo de registro. Si no se establece el modificador, se sobrescribe el contenido de un archivo de registro existente. El valor predeterminado es no anexar al archivo de registro.

Verbosity: invalida el valor de nivel de detalle predeterminado 'detailed'.

Encoding: especifica la codificación del archivo, por ejemplo, UTF-8.

También se puede utilizar cualquiera de los parámetros del registrador de consola. Por ejemplo: /fileLoggerParameters:LogFile=MyLog.log;Append; Verbosity=diagnostic;Encoding=UTF-8.

/toolsversion:version

Especifica la versión del conjunto de herramientas que se utilizará para compilar el proyecto. Este comando permite compilar un proyecto con una versión diferente de la especificada en Elemento Project (MSBuild). Por ejemplo:

C:\Windows\WinFX\v3.5>msbuild.exe *.proj /ToolsVersion:3.5 /p:Configuration=Debug

Los valores válidos para version son: 2.0, 3.0 y 3.5. Para obtener más información acerca de los Toolsets, consulte Compilar para versiones específicas de .NET Framework.

/nodeReuse:<parámetros>

Habilita o deshabilita la reutilización de los nodos de MSBuild. Los parámetros son:

True: los nodos permanecen una vez completada la compilación y son utilizados por compilaciones posteriores.

False: los nodos no permanecen después de que se complete la compilación. (Forma abreviada: /nr) Ejemplo: /nr:true

Comentarios

Para pasar los parámetros al registrador de consola predeterminado, primero deshabilítelo con /noconsolelogger y, a continuación, especifíquelo con la sintaxis /logger. Por ejemplo, utilice la línea de comandos siguiente para que se muestre el resumen de rendimiento que normalmente sólo se muestra en el nivel de detalle de diagnóstico:

msbuild myproject.csproj /noconsolelogger /l:ConsoleLogger,Microsoft.Build.Engine.dll;performancesummary

Ejemplo

En el siguiente ejemplo se compila el destino rebuild del proyecto MyProject.proj.

MSBuild.exe MyProject.proj /t:rebuild

Puede utilizar MSBuild.exe para realizar compilaciones más complejas. Por ejemplo, puede utilizarlo para compilar determinados destinos de proyectos específicos en una solución. En el siguiente ejemplo se vuelve a compilar 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

Otros recursos

Referencia de MSBuild