Share via


Referência de linha de comando MSBuild

Quando você usar MSBuild.exe para criar um arquivo de solução ou projeto, você pode incluir várias opções para especificar vários aspectos do processo.

MSBuild.exe [Switches] [ProjectFile]

Arguments

Argumento

Descrição

ProjectFile

Compila os destinos no arquivo de projeto que você especificar. Se você não especificar um arquivo de projeto, o MSBuild procura o diretório de trabalho atual para uma extensão de nome de arquivo que termine em "proj" e usa esse arquivo. 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

Exibir informações de uso. O comando a seguir é um exemplo:

msbuild.exe /?

/detailedsummary

/DS

Mostre informações detalhadas ao final do log de compilação sobre as configurações que foram criadas e como eles foram agendados para nós.

/ignoreprojectextensions:extensions

/ Ignorar:extensions

Ao determinar qual arquivo de projeto para criar, ignore as extensões especificadas. 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âneos para uso na criação. Se você não incluir essa opção, o valor padrão é 1. Se você incluir essa opção sem especificar um valor, MSBuild usará o número de processadores no computador. Para obter mais informações, consulte Criando vários projetos paralelamente com o MSBuild.

O exemplo a seguir instrui o MSBuild para compilar usando três processos MSBuild, que permite que os três projetos que serão compilados ao mesmo tempo:

msbuild myproject.proj /maxcpucount:3

/noautoresponse

/noautorsp

Não inclua arquivos MSBuild automaticamente.

/nodeReuse:value

/nr:value

Habilitar ou desabilitar a reutilização de nós do MSBuild. Você pode especificar os seguintes valores:

  • True. Nós permanecem após a conclusão da compilação para que as compilações subseqüentes podem usá-los (padrão).

  • False. Nós não permanecerão após o término da compilação.

Um nó corresponde a um projeto que está em execução. Se você incluir o /maxcpucount switch, vários nós podem ser executadas simultaneamente.

/nologo

Não exiba a faixa de inicialização ou a mensagem de direitos autorais.

/ pré-processamento [:filepath]

/pp[:filepath]

Criar um arquivo de projeto único, agregados por inlining todos os arquivos que seriam importados durante uma compilação, com seus limites marcados. Você pode usar essa opção para determinar facilmente quais arquivos estão sendo importados, de onde os arquivos estão sendo importados e quais arquivos contribuem para a compilação. Quando você usar essa opção, o projeto não é criado.

Se você especificar um filepath, o arquivo de projeto agregado é enviado para o arquivo. Caso contrário, a saída é exibida na janela do console.

Para obter informações sobre como usar o Import elemento para inserir um arquivo de projeto em outro arquivo de projeto, consulte Elemento Import (MSBuild) e Como usar o mesmo destino em vários arquivos de projeto.

/Property:name=value

/p:name=value

Definir ou substituir as propriedades de nível de projeto especificadas, onde name é o nome da propriedade e value é o valor da propriedade. Especifique cada propriedade separadamente 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;OutDir=bin\Debug

/target:targets

/t:targets

Crie destinos especificados no projeto. Especifique cada destino separadamente ou use um ponto e vírgula ou uma vírgula para separar vários destinos, como mostra o exemplo a seguir:

/target:Resources;Compile

Se você especificar qualquer destino usando essa opção, eles são executados em vez dos destinos no DefaultTargets atributos no arquivo de projeto. Para obter mais informações, consulte Ordem de compilação de destinos e Como especificar o destino a ser compilado primeiro.

Um destino é um grupo de tarefas. Para obter mais informações, consulte Destinos do MSBuild.

/ToolsVersion.:version

/TV:version

Especifica a versão do conjunto de ferramentas para usar para compilar o projeto, como mostra o exemplo a seguir:/toolsversion:3.5

Ao usar essa opção, você pode compilar um projeto e especificar uma versão diferente da versão especificada no Elemento Project (MSBuild). Para obter mais informações, consulte Substituindo as configurações de 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, o VisualStudioVersion propriedade de compilação Especifica qual subconjunto de ferramentas para usar. Para obter mais informações, consulte a seção de subconjuntos de ferramentas de MSBuild Toolset (ToolsVersion).

Um conjunto de ferramentas consiste em tarefas, destinos e ferramentas que são usadas para criar um aplicativo. As ferramentas incluem compiladores, tais como csc.exe e vbc.exe. Para obter mais informações sobre conjuntos de ferramentas, consulte MSBuild Toolset (ToolsVersion), Configurações padrão e personalizadas do Toolset, e Visão geral da multiplataforma no MSBuild.

Dica

A versão do conjunto de ferramentas não é o mesmo que a estrutura de destino, que é a versão do .NET Framework em que um projeto é criado para ser executado.Para obter mais informações, consulte Estrutura de destino e plataforma de destino do MSBuild.

/Validate: [schema]

/val[schema]

Validar o arquivo de projeto e, se a validação for bem-sucedida, compile o projeto.

Se você não especificar schema, o projeto é validado em relação ao esquema padrão.

Se você especificar schema, o projeto é validado em relação ao esquema especificado.

A configuração a seguir é um exemplo:/validate:MyExtendedBuildSchema.xsd

/verbosity:level

/v:level

Especifica a quantidade de informações a serem exibidas no log de compilação. Cada agente de log exibe eventos de acordo com o nível de detalhamento que você definiu para esse agente.

Você pode especificar os seguintes níveis de detalhamento: q[uiet], m[inimal], n[ormal], d[etailed], e diag[nostic].

A configuração a seguir é um exemplo:/verbosity:quiet

/Version

/ver

Exibir somente informações de versão. O projeto não é criado.

@file

Inserir linhas de comando de um arquivo de texto. Se você tiver vários arquivos, especifique-los separadamente. Para obter mais informações, consulte Arquivos de resposta do MSBuild.

Opções para Agentes

Switch

Forma abreviada

Descrição

/consoleLoggerParameters:

parameters

/CLP:parameters

Passe os parâmetros que você especificar para o agente de console que exibe informações de compilação na janela do console. Você pode especificar os seguintes parâmetros:

  • PerformanceSummary. Mostra o tempo gasto em projetos, destinos e tarefas.

  • Resumo. Exibir o resumo de aviso e erro no final.

  • NoSummary. Não mostre o resumo de aviso e erro no final.

  • ErrorsOnly. Mostra somente os erros.

  • WarningsOnly. Mostra somente os avisos.

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

  • ShowCommandLine. Mostrar TaskCommandLineEvent mensagens.

  • ShowTimestamp. Mostre o carimbo de hora como um prefixo para qualquer mensagem.

  • ShowEventId. Mostre a ID de evento para cada evento iniciado, o evento concluído e a mensagem.

  • ForceNoAlign. Não alinhe o texto para o tamanho do buffer do console.

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

  • DisableMPLogging. Desabilite o estilo de multiprocessador de log de saída quando executado no modo não-multiprocessador.

  • EnableMPLogging. Habilite o estilo de multiprocessador log mesmo quando executado no modo não-multiprocessador. Esse estilo de registro em log está ativado por padrão.

  • Detalhamento. Substituir o /verbosity definindo para esse agente.

Use um ponto e vírgula ou uma vírgula para separar vários parâmetros, como mostra o exemplo a seguir:

/consoleloggerparameters:PerformanceSummary;NoSummary /verbosity:minimal

/distributedFileLogger

/dfl

Faça a saída da compilação de cada nó do MSBuild para seu próprio arquivo. A localização inicial desses arquivos é o diretório atual. Por padrão, os arquivos são nomeados "MSBuildNodeId. log". Você pode usar o /fileLoggerParameters opção para especificar o local dos arquivos e outros parâmetros para fileLogger.

Se você nomear um arquivo de log usando o /fileLoggerParameters switch, o agente de log distribuído usará que nomeie como um modelo e acrescentar a identificação do nó para esse nome ao criar um arquivo de log para cada nó.

/distributedlogger:

central logger*

forwarding logger

/dl:central logger*forwarding logger

Registrar eventos do MSBuild, anexando uma instância do agente de log diferentes para cada nó. Para especificar vários agentes de log, especifique cada agente de log separadamente.

Você usar a sintaxe de agente para especificar um agente de log. Para obter a sintaxe de agente, consulte o /logger opção 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

/fileLogger

[número]

/fl[number]

Faça a saída de compilação em um único arquivo no diretório atual. Se você não especificar number, o arquivo de saída é denominado msbuild.log. Se você especificar number, o arquivo de saída é denominado msbuildn. log, onde n é number. Numberpode ser um dígito de 1 a 9.

Você pode usar o /fileLoggerParameters opção para especificar o local do arquivo e outros parâmetros para fileLogger.

/fileloggerparameters: [número]

parameters

/flp:[ number]parameters

Especifica parâmetros extras para o agente de log de arquivo e o agente de arquivos distribuídos. A presença dessa opção indica que o correspondente /filelogger[number] chave estiver presente. Numberpode ser um dígito de 1 a 9.

Você pode usar todos os parâmetros listados para /consoleloggerparameters. Você também pode usar um ou mais dos seguintes parâmetros:

  • Arquivo de log. O caminho para o arquivo de log no qual o log de compilação será gravado. O agente de arquivos distribuído prefixos esse caminho aos nomes dos seus arquivos de log.

  • Acrescente. Determina se o log de compilação será acrescentado ao arquivo de log ou substituí-lo. Quando você definir a opção, o log de compilação é anexado ao arquivo de log. Quando a opção não estiver presente, o conteúdo de um arquivo de log existente será substituído.

    Se você incluir a opção de acréscimo, não importa se ele for definido como true ou false, o log será anexado. Se você não incluir a opção de acréscimo, o log será substituído.

    Nesse caso, o arquivo será substituído:msbuild myfile.proj /l:FileLogger,Microsoft.Build.Engine;logfile=MyLog.log

    Nesse caso, o arquivo é anexado:msbuild myfile.proj /l:FileLogger,Microsoft.Build.Engine;logfile=MyLog.log;append=true

    Nesse caso, o arquivo é anexado:msbuild myfile.proj /l:FileLogger,Microsoft.Build.Engine;logfile=MyLog.log;append=false 

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

O exemplo a seguir gera arquivos de log separados para avisos e erros:

/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 agente para usar para registrar eventos do MSBuild. Para especificar vários agentes de log, especifique cada agente de log 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 logger se o assembly contém exatamente um agente de log.

Use a seguinte sintaxe para LoggerAssembly:{AssemblyName[,StrongName] | AssemblyFile}

Parâmetros de agente são opcionais e são passados para o agente de log exatamente como você inseri-los.

Os exemplos a seguintes usam o /logger alternar.

/logger:XMLLogger,MyLogger,Version=1.0.2,Culture=neutral

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

/noconsolelogger

/noconlog

Desabilite o agente de log de console padrão e não registrar eventos no console.

Exemplo

O exemplo a seguir cria o rebuild destino do MyProject.proj projeto.

MSBuild.exe MyProject.proj /t:rebuild

Você pode usar MSBuild.exe para executar compilações mais complexas. Por exemplo, você pode usá-la para criar destinos específicos de projetos específicos em uma solução. O exemplo a seguir recria o projeto NotInSolutionFolder e limpa o projeto InSolutionFolder, que é o NewFolder pasta da solução.

msbuild SlnFolders.sln /t:NotInSolutionfolder:Rebuild;NewFolder\InSolutionFolder:Clean

Consulte também

Referência

Propriedades de projeto comuns do MSBuild

Outros recursos

Referência do MSBuild