Compartilhar via


Visão geral do MSBuild (Visual C++)

MSBuild é o padrão de criar o sistema para projetos Visual C++.Quando você cria um projeto no ambiente de desenvolvimento integrado (IDE) Visual Studio, ele usa a ferramenta MSBuild. exe, um arquivo de projeto baseado em XML e arquivos de configurações opcionais.Embora você possa usar o MSBuild. exe e um arquivo de projeto na linha de comando, o IDE fornece uma interface de usuário para que você pode definir as configurações com mais facilidade e constrói um projeto.Esta visão geral descreve como o Visual C++ usa o sistema MSBuild.

Pré-requisitos

Leia os seguintes documentos sobre MSBuild.

MSBuild na linha de comando

A instrução a seguir do Referência de linha de comando MSBuild documento ilustra que a ferramenta MSBuild. exe leva um implícito ou explícito project file (um arquivo de .vcxproj para projetos Visual C++) de argumento e zero ou mais de linha de comando options.

msbuild.exe [project file] [options]

Use o /target (ou /t) e /property (ou /p) opções de linha de comando para substituir as propriedades e os destinos são 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 que são necessárias para executar a operação.Um arquivo de projeto pode especificar um ou mais destinos, que podem incluir um destino padrão.

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

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

Parâmetros da tarefa adicional de suporte à infra-estrutura do MSBuild.Por exemplo, o Sources parâmetro de tarefa Especifica um conjunto de tarefas que podem ser consumidos por outras tarefas.Para obter mais informações sobre tarefas do MSBuild, consulte Referência de tarefa do MSBuild.

A maioria das tarefas requerem entradas e saídas, como, por exemplo, seqüência de caracteres, os parâmetros numéricos ou booleanos, caminhos e nomes de arquivo.Por exemplo, uma entrada comum é o nome de um arquivo de origem. cpp para compilar.Um parâmetro de entrada importante é uma seqüência de caracteres que especifica a configuração de compilação e a plataforma, por exemplo, "Debug|Win32 ".Entradas e saídas são especificadas pelo XML definido pelo usuário de um ou mais Item elementos contidos em um ItemGroup elemento.

Um arquivo de projeto também pode especificar definida pelo usuário Propriedades e grupo de definições de itemitens.Propriedades e itens formam os pares nome/valor que podem ser usados como variáveis na compilação.O componente do nome de um par define uma macro, e o componente de valor declara a valor macro.Uma macro de propriedade é acessada por meio de $(nome) notação e uma macro do item é acessada por meio de %(nome) notação.

Outros elementos XML em um arquivo de projeto podem testar a macros e, em seguida, condicionalmente definir o valor de qualquer macro ou controlar a execução da compilação.Nomes de macro e seqüências de caracteres literais podem ser concatenadas para gerar construções como, por exemplo, um caminho e nome de arquivo.Na linha de comando, o /property opção define ou substitui uma propriedade de projeto.Itens não podem ser referenciados na linha de comando.

O sistema MSBuild condicionalmente pode executar um destino antes ou após outro destino.Além disso, o sistema pode construir um destino com base em que os arquivos que o destino consome serem mais recentes do que os arquivos que ela emite.

MSBuild no IDE

Quando você definir as propriedades do projeto no IDE e salve o projeto, o Visual C++ grava as configurações do projeto em seu arquivo de projeto.O arquivo de projeto contém configurações que são exclusivas ao seu projeto, mas ele não contém todas as configurações que são necessárias para construir o projeto.O arquivo de projeto contém Import elementos que incluem uma rede de outros suporte a arquivos. Os arquivos de suporte contêm as propriedades, destinos e configurações necessárias para construir o projeto restantes.

A maioria dos destinos e propriedades nos arquivos de suporte existem unicamente para implementar o sistema de compilação.A seção a seguir aborda alguns destinos útil e as propriedades que podem ser especificados na linha de comando do MSBuild.Para descobrir mais destinos e propriedades, explore os arquivos nos diretórios de arquivos de suporte.

Ee662426.collapse_all(pt-br,VS.110).gifDiretórios de arquivos de suporte

Por padrão, os arquivos de suporte principais do Visual C++ estão localizados nos seguintes diretórios.

Diretório

Descrição

unidade: \Program Files\MSBuild\Microsoft.Cpp\v4.0\

Contém os arquivos de destino principal (. targets) e arquivos de propriedade (.props) que são usados pelo público-alvo.Por padrão, a macro $(VCTargetsPath) faz referência a esse diretório.

unidade: \Program Files\MSBuild\Microsoft.Cpp\v4.0\Platforms\plataforma\

Contém arquivos de destino e a propriedade específicos de plataforma que substituem os destinos e propriedades na sua pasta pai.Além disso, esse diretório contém um arquivo. dll que define as tarefas que são usadas pelos destinos neste diretório.

O plataforma espaço reservado representa a Itanium, Win32, ou x64 subdiretório.

unidade: \Program Files\MSBuild\Microsoft.Cpp\v4.0\Platforms\plataforma\ PlatformToolsets\conjunto de ferramentas\

Contém os diretórios que permitem a compilação gerar 9.0 ou aplicativos de 10.0 do Visual C++.

O plataforma espaço reservado representa a Itanium, Win32, ou x64 subdiretório.O conjunto de ferramentas espaço reservado representa a v90 ou v100 subdiretório do conjunto de ferramentas.

Ee662426.collapse_all(pt-br,VS.110).gifArquivos de suporte

Os diretórios de arquivos de suporte contêm arquivos com as seguintes extensões.

Extensão

Descrição

. targets

Contém Target elementos XML que especificam as tarefas que são executadas pelo destino.Também pode conter Property Group, Item Group, Item Definition Group, e definidos pelo usuário Item elementos que são usados para atribuir os arquivos e as opções de linha de comando para os parâmetros da tarefa.

Para obter mais informações, consulte Elemento de destino (MSBuild).

.Props

Contém Property Group e definidos pelo usuário Property elementos XML que especificam as configurações do arquivo e o parâmetro que são usadas durante uma compilação.

Também pode conter Item Definition Group e definidos pelo usuário Item elementos XML que especificar configurações adicionais.Itens definidos em um grupo de definições de item se parecem com propriedades, mas não podem ser acessados a partir da linha de comando.Os arquivos de projeto do Visual C++ usa com freqüência os itens em vez de propriedades para representar as configurações.

Para obter mais informações, consulte Elemento de ItemGroup (MSBuild), Elemento de ItemDefinitionGroup (MSBuild) e Elemento de item (MSBuild).

.xml

Contém elementos XML que declarar e inicializar os elementos de interface de usuário do IDE, como controles de caixa de lista e de caixa de texto e páginas de propriedades e folhas de propriedades.

Os arquivos. XML dão suporte direto a IDE, não o MSBuild.No entanto, são atribuídos os valores das propriedades do IDE para criar itens e propriedades.

A maioria dos arquivos. XML estão em um subdiretório específicos da localidade.Por exemplo, os arquivos para a região do inglês-EUA estão em \1033\ $(VCTargetsPath).

Propriedades e os destinos de usuário

Para usar o MSBuild mais efetivamente na linha de comando, ele ajuda a saber quais propriedades e os destinos são úteis e relevantes.A maioria das propriedades e os destinos de ajudam a implementar o sistema de compilação do Visual C++ e, conseqüentemente, não são relevantes para o usuário.Esta seção descreve algumas propriedades de orientado ao usuário vale a pena e o destinos.

Ee662426.collapse_all(pt-br,VS.110).gifPropriedade PlatformToolset

O PlatformToolset propriedade determina se o Visual C++ 2010 ou o conjunto de ferramentas do Visual C++ 2008 é usado na compilação.O valor da propriedade é concatenado com seqüências de caracteres literais para formar o caminho de um diretório que contém os arquivos de propriedade e de destino são necessárias para criar um projeto em uma plataforma específica.

Definir o PlatformToolset propriedade para v100 para usar Visual C++ 2010 ferramentas para criar seu aplicativo.

msbuild myProject.vcxproj /p:PlatformToolset=v100

Definir o PlatformToolset propriedade para v90 usar ferramentas do Visual C++ 2008 para criar seu aplicativo.O conjunto de ferramentas do Visual C++ 2008 já deve estar instalado em seu computador para que ela seja eficaz.

msbuild myProject.vcxproj /p:PlatformToolset=v90

Ee662426.collapse_all(pt-br,VS.110).gifPropriedade UseEnv

Por padrão, as configurações específicas da plataforma para o projeto atual substituem as variáveis de ambiente do caminho, INCLUDE, LIB, LIBPATH, configuração e plataforma.Definir o UseEnv propriedade para true para garantir que as variáveis de ambiente não são substituídas.

msbuild myProject.vcxproj /p:UseEnv=true

Ee662426.collapse_all(pt-br,VS.110).gifDestinos

Existem centenas de destinos nos arquivos de suporte do Visual C++.No entanto, a maioria são orientados por sistemas destinos que o usuário pode ignorar.A maioria dos destinos de sistema são precedidos por um sublinhado (_), ou tem um nome que começa com "PrepareFor", "Calcular", "Antes", "Após", "Pre" ou "Post".

A tabela a seguir lista vários destinos vale a pena orientado ao usuário.

Destino

Descrição

BscMake

Executa a ferramenta Microsoft procurar informações sobre manutenção Utility, bscmake.exe.

Criar

Cria o projeto.

Este é o destino padrão de um projeto.

ClCompile

Executa a ferramenta do compilador Visual C++, cl.

Limpar

Exclusões temporárias e de nível intermediárias compilar os arquivos.

Lib

Executa a ferramenta Gerenciador de bibliotecas Microsoft 32 bits, lib.exe.

Link

Executa a ferramenta de vinculador do Visual C++, link. exe.

ManifestResourceCompile

Extrai uma lista de recursos de um manifesto e, em seguida, executa a ferramenta do compilador de recurso do Microsoft Windows, rc. exe.

MIDL

Executa a ferramenta do compilador de linguagem de definição de Interface da Microsoft (MIDL), midl.exe.

Recriar

Limpa e compila seu projeto.

ResourceCompile

Executa a ferramenta do compilador de recurso do Microsoft Windows, rc. exe.

XdcMake

Executa a ferramenta de documentação XML, xdcmake.exe.

XSD

Executa a ferramenta de definição de esquema XML, XSD. exe.

Consulte também

Outros recursos

MSBuild (Visual C++)