Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O MSBuild fornece uma superfície de API pública para que seu programa possa executar builds e inspecionar projetos. Versões recentes das APIs do MSBuild podem ser encontradas nos seguintes pacotes NuGet:
| Nome do pacote | Descrição |
|---|---|
| Microsoft.Build | Contém o assembly Microsoft.Build usado para criar, editar e avaliar projetos do MSBuild. |
| Microsoft.Build.Framework | Contém o assembly de estrutura comum do MSBuild usado por outros assemblies do MSBuild. |
| Microsoft.Build.Runtime | Fornece uma cópia executável completa do MSBuild. Faça referência a esse pacote somente se o aplicativo precisar carregar projetos ou executar builds em processo sem a necessidade de instalação do MSBuild. Avaliar projetos com êxito usando esse pacote requer agregar componentes adicionais (como os compiladores) em um diretório de aplicativo. |
| Microsoft.Build.Tasks.Core | Contém o assembly Microsoft.Build.Tasks que implementa as tarefas comumente usadas do MSBuild. |
| Microsoft.Build.Utilities.Core | Contém o assembly Microsoft.Build.Utilities que é usado para implementar tarefas personalizadas do MSBuild. |
Além disso, o NuGet também hospeda um assembly herdado, Microsoft.Build.Engine, que está obsoleto.
Há várias versões diferentes da API do MSBuild e, para as versões 15 e 16, há duas formas distintas dos assemblies nos pacotes NuGet, uma compilada com o .NET Framework e outra compilada com o .NET Core, que é um subconjunto da superfície da API do .NET Framework. A versão do .NET Core do MSBuild é usada quando você invoca o dotnet comando e ao usar o MSBuild em sistemas Mac e Linux.
A documentação da API do MSBuild pode ser encontrada usando o Navegador de API do .NET ou navegando pelos namespaces na lista a seguir.
| Namespace | Aplica-se A | Descrição |
|---|---|---|
| Microsoft.Build.Construction | Todos | Contém tipos que o modelo de objeto MSBuild usa para construir raízes de projeto com valores não avaliados. Cada raiz do projeto corresponde a um arquivo de projeto ou de destino. |
| Microsoft.Build.Definition | Todos | Contém a ProjectOptions classe, que dá suporte à construção do projeto. |
| Microsoft.Build.Evaluation | Todos | Contém tipos que o modelo de objeto MSBuild usa para avaliar projetos. Cada projeto está associado a uma ou mais raízes de projeto. |
| Microsoft.Build.Evaluation.Context | Todos | Contém a classe EvaluationContext, usada para armazenar o estado de avaliação entre chamadas. |
| Microsoft.Build.Exceptions | Todos | Contém tipos de exceção que podem ser gerados durante o processo de build. |
| Microsoft.Build.Execution | Todos | Contém tipos que o modelo de objeto MSBuild usa para criar projetos. |
| Microsoft.Build.Framework | Todos | Contém os tipos que definem como tarefas e registradores interagem com o mecanismo MSBuild. |
| Microsoft.Build.Framework.Profiler | Todos | Contém os tipos que dão suporte à criação de perfil de desempenho. |
| Microsoft.Build.Framework.XamlTypes | Somente .NET Framework | Contém classes usadas para representar tipos XAML analisados de arquivos, regras e outras fontes. |
| Microsoft.Build.Globbing | Todos | Contém classes que dão suporte ao processamento de caracteres curinga. |
| Microsoft.Build.Globbing.Extensions | Todos | Contém tipos que dão suporte a extensões para processamento de wildcards. |
| Microsoft.Build.Graph | Todos | Contém tipos que dão suporte ao comutador -graph MSBuild. |
| Microsoft.Build.Logging | Todos | Contém tipos usados para registrar em log o progresso de um build. |
| Microsoft.Build.ObjectModelRemoting | Todos | Contém tipos que dão suporte à remotização no MSBuild. |
| Microsoft.Build.Tasks | Todos | Contém a implementação de todas as tarefas incluídas no MSBuild. |
| Microsoft.Build.Tasks.Deployment.Bootstrapper | Somente .NET Framework | Contém classes usadas internamente pelo MSBuild. |
| Microsoft.Build.Tasks.Deployment.ManifestUtilities | Somente .NET Framework | Contém classes que o MSBuild usa. |
| Microsoft.Build.Tasks.Hosting | Todos | Contém classes usadas internamente pelo MSBuild. |
| Microsoft.Build.Tasks.Xaml | Somente .NET Framework | Contém classes relacionadas a tarefas de build XAML. |
| Microsoft.Build.Utilities | Todos | Contém classes auxiliares que você pode usar para criar seus próprios registradores e tarefas do MSBuild. |
Na tabela anterior, Todos na coluna Aplica-se a significa que os tipos no namespace estão disponíveis nas versões do .NET Framework e do .NET Core da API do MSBuild.
Localizador do MSBuild
O Localizador MSBuild é uma API que você pode usar para localizar o MSBuild em um computador. Você pode usá-lo no desenvolvimento de ferramentas de build quando quiser encontrar versões instaladas do MSBuild.
O NuGetPackage está em Microsoft.Build.Locator e a documentação de referência está na Microsoft.
Para obter mais informações sobre o MSBuildLocator, consulte Localizar e usar versões do MSBuild.