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:
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:
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:
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