Referência de linha de comando MSBuild
Quando você usa MSBuild.exe para compilar um projeto ou arquivo de solução, você pode incluir várias opções para especificar vários aspectos do processo.
MSBuild.exe [Switches] [ProjectFile]
Argumentos
Argumento |
Descrição |
---|---|
ProjectFile |
Compila os destinos no arquivo de projeto que você especificar.Se você não especificar um arquivo de projeto, MSBuild procura o diretório de trabalho corrente por uma extensão de nome de arquivo que termina em “e” proj em que usa arquivos.Você também pode especificar um arquivo de solução do Visual Studio para esse argumento. |
Opções
Switch |
Forma abreviada |
Descrição |
---|---|---|
/help |
/?ou /h |
Informações de uso de exibição.O comando a seguir é um exemplo: msbuild.exe /? |
/detailedsummary |
/ds |
Informações detalhadas de apresentação no final do log de compilação sobre as configurações que foram criadas e como eles foram agendados para nós. |
/ignoreprojectextensions: extensions |
/ignore: extensions |
Ignorar as extensões especificadas para determinar quais arquivo de projeto para compilar.Use um ponto-e-vírgula ou uma vírgula para separar várias extensões, como mostra o exemplo a seguir: /ignoreprojectextensions:.vcproj,.sln |
/maxcpucount [:number] |
/m [:number] |
Especifica o número máximo de processos simultâneas para usar ao criar.Se você não incluir essa opção, o valor padrão é 1.Se você incluir essa opção não especificar um valor, o MSBuild usará até o número de processadores no computador.Para obter mais informações, consulte Criando vários projetos paralelamente com o MSBuild. O exemplo instrui o MSBuild para criar usando três processos do MSBuild, que permite três projetos compilar ao mesmo tempo: msbuild myproject.proj /maxcpucount:3 |
/noautoresponse |
/noautorsp |
Não inclua quaisquer arquivos de MSBuild.rsp automaticamente. |
/nodeReuse:value |
/nr:value |
Ativar ou desativar reutilização de nós do MSBuild.Você pode especificar os seguintes valores:
Um nó corresponde a um projeto que está executando.Se você incluir a opção de /maxcpucount , vários nós podem executar simultaneamente. |
/nologo |
Não exibir a faixa de inicialização ou a notificação de direitos autorais. |
|
/preprocess [:filepath] |
/pp [:filepath] |
Crie um único arquivo de projeto, agregado inlining todos os arquivos que poderiam ser importados durante a criação, com seus limites marcados.Você pode usar essa opção mais facilmente um determina quais arquivos estão sendo importados de, onde os arquivos estão sendo importados, e de arquivos que contribuem para a compilação.Quando você usa essa opção, o projeto não é compilado. Se você especificar filepath, o arquivo de projeto é agregado saída para o arquivo.Caso contrário, a saída aparecerá na janela do console. Para obter informações sobre como usar o elemento de Import para inserir um arquivo de projeto em outro arquivo de projeto, consulte Elemento de importação (MSBuild) e Como: usar o mesmo destino em vários arquivos de projeto. |
/property:name=value |
/p:name=value |
O conjunto ou substitui as propriedades especificadas no nível de projeto name , onde é o nome de propriedade e value é o valor da propriedade.Especifique cada propriedade separada, ou use um ponto-e-vírgula ou uma vírgula para separar várias propriedades, como mostra o exemplo a seguir: /property:WarningLevel=2;OutputDir=bin\Debug |
/target:targets |
/t:targets |
Criar destinos especificados no projeto.Especifique cada destino separada, ou use um ponto-e-vírgula ou uma vírgula para separar de vários destinos, como mostra o exemplo a seguir: /target:Resources;Compile Se você especificar quaisquer destinos usando essa opção, são executados em vez de todos os destinos no atributo de DefaultTargets no arquivo de projeto.Para obter mais informações, consulte Ordem de compilação de destino e Como: especificar qual destino pela primeira vez para compilação. Um destino for um grupo de tarefas.Para obter mais informações, consulte Destinos do MSBuild. |
/toolsversion:version |
/tv:version |
Especifica a versão do kit de ferramentas para usar o para criar o projeto, como mostra o exemplo a seguir: /toolsversion:3.5 Usando essa opção, você pode compilar um projeto e especificar uma versão que seja diferente de versão que é especificada no Elemento do projeto (MSBuild).Para obter mais informações, consulte Substituindo configurações ToolsVersion. Para MSBuild 4,5, você pode especificar os seguintes valores para version: 2,0, 3,5, e 4,0.Se você especificar 4,0, a propriedade de compilação de VisualStudioVersion especifica que subelemento conjunto de ferramentas para usar.Para obter mais informações, consulte a seção de subpropriedades e conjuntos de ferramentas do MSBuild Toolset (ToolsVersion). Um conjunto de ferramentas consiste de tarefas, em, destinos e ferramentas que são usadas para compilar um aplicativo.As ferramentas incluem compiladores como csc.exe e vbc.exe.Para obter mais informações sobre conjuntos de ferramentas, consulte o MSBuild Toolset (ToolsVersion), Configurações padrão e personalizadas do Toolset, e Visão geral do MSBuild Multitargeting.
Observação
A versão do kit de ferramentas não é a mesma que a estrutura de destino, que é a versão do.NET Framework em que um projeto é compilado executar.Para obter mais informações, consulte Estrutura de destino do MSBuild e plataforma de destino.
|
/validate:schema[] |
/val [schema] |
Validar o arquivo de projeto e, se a validação tiver êxito, compilar o projeto. Se você não especificar schema, o projeto é validado contra o esquema padrão. Se você especificar schema, o projeto é validado contra o esquema que você especificar. A seguinte configuração é um exemplo: /validate:MyExtendedBuildSchema.xsd |
/verbosity:level |
/v:level |
Especifica a quantidade de informações para exibir no log de compilação.Cada registador exibe eventos com base no nível de verbosidade que você definiu para esse registador. Você pode especificar os seguintes níveis de verbosidade: q[uiet], m[inimal], n[ormal], d[etailed], e diag[nostic]. A seguinte configuração é um exemplo: /verbosity:quiet |
/version |
/ver |
Informações de versão de exibição somente.O projeto não é compilado. |
@file |
Opções de linha de comando de inserção de um arquivo de texto.Se você tiver vários arquivos, você especifique separadamente.Para obter mais informações, consulte Arquivos de resposta do MSBuild. |
Alterna para registadores
Switch |
Forma abreviada |
Descrição |
---|---|---|
/consoleloggerparameters:parameters |
/clp:parameters |
Passar parâmetros que você especificar para o registador de console, que exibe informações de compilação na janela do console.Você pode especificar os seguintes parâmetros:
Use um ponto e vírgulas para separar uma ou mais parâmetros, como mostra o exemplo a seguir: /consoleloggerparameters:PerformanceSummary;NoSummary /verbosity:minimal |
/distributedFileLogger |
/dfl |
Registrar a saída da compilação de cada nó do MSBuild para seu próprio arquivo.O local inicial para esses arquivos é o diretório atual.Por padrão, arquivos são nomeados “MSBuildNodeId.log”.Você pode usar a opção de /fileLoggerParameters para especificar o local de arquivos e de outros parâmetros para o fileLogger. Se você nomeia um arquivo de log usando a opção de /fileLoggerParameters , o registador distribuído que usará o nome como um modelo e acrescenta a ID do nó com esse nome ao criar um arquivo de log para cada nó. |
/distributedlogger:central logger*forwarding logger |
/dl:central logger*forwarding logger |
Eventos de log do MSBuild, anexar uma instância diferente de registador a cada nó.Para especificar vários registadores, especifique cada registador separadamente. Você usa a sintaxe de registador para especificar um registador.Para a sintaxe de registador, consulte a opção de /logger abaixo. Os exemplos a seguir mostram como usar essa opção: /dl:XMLLogger,MyLogger,Version=1.0.2,Culture=neutral /dl:MyLogger,C:\My.dll*ForwardingLogger,C:\Logger.dll |
/fileLoggernúmero [][] |
/fl [number] |
Registrar a saída de compilação para um único arquivo no diretório atual.Se você não especificar number, o arquivo de saída for chamado msbuild.log.Se você especificar number, o arquivo de saída é chamado msbuildn.log, onde é numberem.Number pode ser um dígito de 1 a 9. Você pode usar a opção de /fileLoggerParameters para especificar o local do arquivo e outros parâmetros para o fileLogger. |
/fileloggerparameters: [] número parameters |
/flp: [] parametersnumber |
Especifica todos os parâmetros adicionais para o registador de arquivo e o registador distribuído do arquivo.A presença deste interruptor implica que correspondem a opção/defilelogger[number] está presente.Number pode ser um dígito de 1 a 9. Você pode usar todos os parâmetros que estão listados para /consoleloggerparameters.Você também pode usar um ou mais dos seguintes parâmetros:
O exemplo a seguir gera arquivos de log separados para erros e avisos: /flp1:logfile=errors.txt;errorsonly /flp2:logfile=warnings.txt;warningsonly Os exemplos a seguir mostram outras possibilidades: /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 o registador para usar o para registrar eventos do MSBuild.Para especificar vários registadores, especifique cada registador separadamente. Use a seguinte sintaxe para logger: [LoggerClass,]LoggerAssembly[;LoggerParameters] Use a seguinte sintaxe para LoggerClass: [PartialOrFullNamespace.]LoggerClassName Você não precisa especificar a classe de registador se o assembly contém exatamente um registador. Use a seguinte sintaxe para LoggerAssembly: {AssemblyName[,StrongName] |AssemblyFile} Os parâmetros de registador são opcionais e são passados para o registador exatamente como você as digita. Os exemplos usam a opção de /logger . /logger:XMLLogger,MyLogger,Version=1.0.2,Culture=neutral /logger:XMLLogger,C:\Loggers\MyLogger.dll;OutputAsHTML |
/noconsolelogger |
/noconlog |
Desativar o registador padrão do console, e não registrar eventos no console. |
Exemplo
O exemplo a seguir compila o destino de rebuild de projeto de MyProject.proj .
MSBuild.exe MyProject.proj /t:rebuild
Você pode usar MSBuild.exe para executar compilações mais complexas.Por exemplo, você pode usá-lo para criar destinos específicos de projetos específicos em uma solução.O exemplo reconstrói o projeto NotInSolutionFolder e limpa o projeto InSolutionFolder, que está na pasta de solução de NewFolder .
msbuild SlnFolders.sln /t:NotInSolutionfolder:Rebuild;NewFolder\InSolutionFolder:Clean
Consulte também
Referência
Propriedades comuns de projeto MSBuild