Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Esta seção apresenta algumas terminologias básicas do MSBuild para desenvolvedores WDK, que estão familiarizados com Build.exe e NMake.exe. Esta seção mostra a construção de projetos MSBuild simples.
Conceitos Nmake relevantes para o MSBuild
Se você já trabalhou com Build.exe e versões anteriores do WDK (antes do WDK 8), provavelmente está familiarizado com a terminologia e os conceitos que NMake.exe usa.
- command - invoca uma ferramenta de linha de comando.
- target - descreve uma sequência nomeada de comandos.
- dependência - descreve um destino que depende de outros destinos.
- Nmake é invocado em um arquivo make com um ou mais destinos especificados. Em seguida, ele executa todas as dependências recursivamente e, em seguida, os comandos do alvo.
- Os arquivos Nmake podem incluir outros arquivos make para o gerenciamento robusto da estrutura de compilação.
- Nmake também suporta a criação de variáveis nomeadas que serão substituídas por parâmetros de comandos.
- Nmake também suporta variáveis automáticas que são atribuídas pelo próprio Make.exe, por exemplo, o nome do diretório ou caminho atual.
- Um alvo nunca será executado duas vezes durante uma única compilação. Uma vez executado, presume-se que um alvo concluiu o seu trabalho e não será executado novamente, mesmo que um alvo subsequente na compilação dependa dele.
Conceitos do MSBuild
A principal extensão de arquivo MSBuild para projetos C++ é .vcxproj.
Os comandos agora são chamados de tarefas, e não são simplesmente invocações de processos de linha de comando. Em vez disso, as tarefas são unidades de código executável que o MSBuild pode usar para executar operações de compilação atômica. Para obter uma lista completa de tarefas, consulte Tarefas do MSBuild específicas do Visual C++.
O MSBuild importa as tarefas de seus assemblies CLR (Common Language Runtime) com o elemento UsingTask , como mostra o exemplo a seguir.
<UsingTask TaskName="TaskName" AssemblyName="AssemblyName" />Os alvos agrupam tarefas em uma ordem específica e permitem que o processo de construção seja dividido em unidades menores.
Um PropertyGroup permite que as propriedades sejam definidas usando um formato amigável para humanos. O exemplo a seguir mostra o formato PropertyGroup .
<PropertyGroup> <ProductVersion>9.0.30729</ProductVersion> </PropertyGroup>Um Item é uma variante orientada a objeto de Property. Enquanto o formato da propriedade é nome/valor, o formato do item é nome/objeto onde o objeto tem vários atributos. Os itens são matrizes de objetos.
As propriedades são referenciadas com o formato $(projeto), enquanto os itens são referenciados com o formato @(name).
Um ItemGroup é uma coleção de Items.
Um ItemGroups é normalmente uma lista de todos os arquivos que devem ser compilados. A coleção de arquivos é então passada para uma tarefa usando a notação @(itemname ). Consulte Itens do MSBuild para obter mais informações sobre como usar itens.
MSBuild tem um número de propriedades internas que você também pode referenciar em um arquivo de projeto.
Para obter mais informações sobre MSBuild e tarefas de compilação, consulte Conceitos do MSBuild e Referência do MSBuild.