MSBuild na linha de comando – C++

Em geral, recomendamos que você use Visual Studio para definir as propriedades do projeto e invocar o MSBuild sistema. No entanto, você pode usar a MSBuild diretamente do prompt de comando. O processo de build é controlado pelas informações em um arquivo de projeto (.vcxproj) que você pode criar e editar. O arquivo de projeto especifica opções de build com base em estágios de build, condições e eventos. Além disso, você pode especificar zero ou mais argumentos de opções de linha de comando.

msbuild.exe [ project_file ] [ opções ]

Use as opções de linha de comando /target (ou /t) e /property ( ou /p) para substituir propriedades e destinos específicos especificados no arquivo de projeto.

Uma função essencial do arquivo de projeto é especificar um destino, que é uma operação específica aplicada ao seu projeto, e as entradas e saídas necessárias para executar essa operação. Um arquivo de projeto pode especificar um ou mais destinos, que podem incluir um destino padrão.

Cada destino consiste em uma sequência de uma ou mais tarefas. Cada tarefa é representada por uma classe .NET Framework que contém um comando executável. Por exemplo, a tarefa CL contém o cl.exe comando .

Um parâmetro de tarefa é uma propriedade da tarefa de classe e normalmente representa uma opção de linha de comando do comando executável. Por exemplo, o FavorSizeOrSpeed parâmetro da tarefa CL corresponde às opções do compilador /Os e /Ot .

Parâmetros de tarefa adicionais são suportados MSBuild infraestrutura. Por exemplo, o Sources parâmetro task especifica um conjunto de tarefas que podem ser consumidas por outras tarefas. Para obter mais informações sobre MSBuild tarefas, consulte Referência de tarefa.

A maioria das tarefas exige entradas e saídas, como nomes de arquivo, caminhos e cadeia de caracteres, parâmetros numéricos ou boolianas. Por exemplo, uma entrada comum é o nome de um arquivo de origem .cpp a ser compilado. Um parâmetro de entrada importante é uma cadeia de caracteres que especifica a configuração e a plataforma de build, por exemplo, "Depurar| Win32". Entradas e saídas são especificadas por um ou mais elementos XML Item definidos pelo usuário contidos em um ItemGroup elemento .

Um arquivo de projeto também pode especificar propriedades e itens definidos pelo ItemDefinitionGroupusuário. Propriedades e itens formam pares nome/valor que podem ser usados como variáveis no build. O componente de nome de um par define uma macro e o componente de valor declara o valor da macro. Uma macro de propriedade é acessada usando a notação $(name) e uma macro de item é acessada usando a notação %(name).

Outros elementos XML em um arquivo de projeto podem testar macros e, em seguida, definir condicionalmente o valor de qualquer macro ou controlar a execução do build. Nomes de macro e cadeias de caracteres literais podem ser concatenados para gerar constructos como um caminho e um nome de arquivo. Na linha de comando, a opção /property define ou substitui uma propriedade do projeto. Itens não podem ser referenciados na linha de comando.

O MSBuild sistema pode executar condicionalmente um destino antes ou depois de outro destino. Além disso, o sistema pode criar um destino com base em se os arquivos que o destino consome são mais novos do que os arquivos que ele emite.

Para obter mais informações sobre MSBuild, consulte:

Nesta seção

Termo Definição
Passo a passo: usando MSBuild para criar um C++ Project Demonstra como criar um projeto Visual Studio C++ usando MSBuild.
Como usar eventos de build em MSBuild projetos Demonstra como especificar uma ação que ocorre em um estágio particuler no build: antes que o build seja iniciado; antes que a etapa de link seja iniciada; ou depois que o build terminar.
Como adicionar uma etapa de build personalizada a projetos MSBuild personalizados Demonstra como adicionar um estágio definido pelo usuário à sequência de build.
Como adicionar ferramentas de build personalizadas para MSBuild projetos Demonstra como associar uma ferramenta de build a um arquivo específico.
Como integrar ferramentas personalizadas às propriedades Project dados Demonstra como adicionar opções para uma ferramenta personalizada às propriedades do projeto.
Como modificar a estrutura de destino e o sistema de ferramentas de plataforma Demonstra como compilar um projeto para várias estruturas ou toolsets.

Consulte também

Usar o Conjunto de ferramentas do MSVC na linha de comando