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:

  • True.Os nós permanecem após a compilação for concluída para que as compilações subsequentes podem utilizá-los (padrão).

  • False.Nós não permanecem após a compilação for concluída.

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çãoObservaçã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.

ms164311.collapse_all(pt-br,VS.110).gifAlterna 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:

  • PerformanceSummary.Mostrar o tempo que são passados nas tarefas, destinos em, e em projetos.

  • Resumo.Mostrar o resumo de erros e avisos no final.

  • NoSummary.Não mostrar o resumo de erros e avisos no final.

  • ErrorsOnly.Erros de apresentação somente.

  • WarningsOnly.Avisos de apresentação somente.

  • NoItemAndPropertyList.Não mostrar a lista de itens e propriedades que apareceriam no início de cada compilação do projeto se o nível de verbosidade é definido como diagnostic.

  • ShowCommandLine.Mensagens de TaskCommandLineEvent de apresentação.

  • ShowTimestamp.Mostrar o carimbo de data/hora como um prefixo para qualquer mensagem.

  • ShowEventId.Mostrar a identificação do evento para cada evento iniciado, o evento concluído, e a mensagem.

  • ForceNoAlign.Não alinhar o texto ao tamanho do buffer de console.

  • DisableConsoleColor.Use as cores padrão de console para todas as mensagens de log.

  • DisableMPLogging.Desativar o estilo de log multiprocessadores de saída ao executar no modo de não processadores.

  • EnableMPLogging.Habilitar o estilo de log multiprocessadores mesmo quando executando no modo de não processadores.Esse estilo de log está ativado por padrão.

  • Detalhamento.Substitua /verbosity que define para este registador.

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:

  • Arquivos histórico.O caminho para o arquivo de log no log de compilação é gravado.O registador distribuído esse caminho do arquivo prefixar aos nomes dos arquivos de log.

  • Acrescentar.Determina se o log de compilação é anexado ao arquivo de log ou substituí-lo.Quando você definir a opção, o log de compilação é anexado ao arquivo de log.Quando você não definir a opção, o conteúdo de um arquivo de log existente são substituídos.

  • Codificação.Especifica a codificação do arquivo (por exemplo, Unicode UTF-8, ou ASCII).

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

Outros recursos

Referência do MSBuild