Udostępnij za pośrednictwem


Korzystanie z interfejsu API programu MSBuild

Program MSBuild udostępnia publiczną powierzchnię interfejsu API, dzięki czemu program może wykonywać kompilacje i sprawdzać projekty. Najnowsze wersje interfejsów API programu MSBuild można znaleźć w następujących pakietach NuGet:

Nazwa pakietu opis
Microsoft.Build Zawiera zestaw Microsoft.Build, który służy do tworzenia, edytowania i oceniania projektów MSBuild.
Microsoft.Build.Framework Zawiera wspólny zestaw platformy MSBuild używany przez inne zestawy MSBuild.
Microsoft.Build.Runtime Dostarcza pełną kopię wykonywalną programu MSBuild. Odwołaj się do tego pakietu tylko wtedy, gdy aplikacja musi załadować projekty lub wykonać kompilacje w procesie bez konieczności instalowania programu MSBuild. Pomyślnie ocenianie projektów przy użyciu tego pakietu wymaga agregowania dodatkowych składników (takich jak kompilatory) w katalogu aplikacji.
Microsoft.Build.Tasks.Core Zawiera zestaw Microsoft.Build.Tasks, który implementuje często używane zadania programu MSBuild.
Microsoft.Build.Utilities.Core Zawiera zestaw Microsoft.Build.Utilities, który służy do implementowania niestandardowych zadań MSBuild.

Ponadto NuGet hostuje również starszy zestaw Microsoft.Build.Engine, który jest przestarzały.

Istnieje kilka różnych wersji interfejsu API MSBuild, a w wersjach 15 i 16 istnieją dwie odrębne formy zestawów w pakietach NuGet, jeden skompilowany przy użyciu programu .NET Framework, a drugi skompilowany za pomocą platformy .NET Core, który jest podzbiorem powierzchni interfejsu API programu .NET Framework. Wersja programu MSBuild platformy .NET Core jest używana podczas wywoływania dotnet polecenia oraz w przypadku korzystania z programu MSBuild w systemach Mac i Linux.

Dokumentację interfejsu API MSBuild można znaleźć przy użyciu przeglądarki interfejsu API platformy .NET lub przeglądając przestrzenie nazw na poniższej liście.

Przestrzeń nazw Dotyczy opis
Microsoft.Build.Construction wszystkie Zawiera typy używane przez model obiektów MSBuild do konstruowania katalogów głównych projektu z niewalewalnymi wartościami. Każdy katalog główny projektu odpowiada plikowi projektu lub miejsca docelowemu.
Microsoft.Build.Definition wszystkie Zawiera klasę, która obsługuje konstrukcję ProjectOptions projektu.
Microsoft.Build.Evaluation wszystkie Zawiera typy używane przez model obiektów MSBuild do oceny projektów. Każdy projekt jest skojarzony z co najmniej jednym katalogiem głównych projektów.
Microsoft.Build.Evaluation.Context wszystkie Zawiera klasę używaną EvaluationContext do przechowywania stanu oceny między wywołaniami.
Microsoft.Build.Exceptions wszystkie Zawiera typy wyjątków, które mogą być zgłaszane podczas procesu kompilacji.
Microsoft.Build.Execution wszystkie Zawiera typy używane przez model obiektów MSBuild do kompilowania projektów.
Microsoft.Build.Framework wszystkie Zawiera typy definiujące sposób interakcji zadań i rejestratorów z aparatem MSBuild.
Microsoft.Build.Framework.Profiler wszystkie Zawiera typy, które obsługują profilowanie wydajności.
Microsoft.Build.Framework.XamlTypes Tylko program .NET Framework Zawiera klasy używane do reprezentowania typów XAML analizowanych z plików, reguł i innych źródeł.
Microsoft.Build.Globbing wszystkie Zawiera klasy obsługujące przetwarzanie symboli wieloznacznych.
Microsoft.Build.Globbing.Extensions wszystkie Zawiera typy, które obsługują rozszerzenia przetwarzania symboli wieloznacznych.
Microsoft.Build.Graph wszystkie Zawiera typy obsługujące -graph przełącznik MSBuild.
Microsoft.Build.Logging wszystkie Zawiera typy używane do rejestrowania postępu kompilacji.
Microsoft.Build.ObjectModelRemoting wszystkie Zawiera typy obsługujące komunikacja zdalną w programie MSBuild.
Microsoft.Build.Tasks wszystkie Zawiera implementację wszystkich zadań wysyłkowych za pomocą programu MSBuild.
Microsoft.Build.Tasks.Deployment.Bootstrapper Tylko program .NET Framework Zawiera klasy używane wewnętrznie przez program MSBuild.
Microsoft.Build.Tasks.Deployment.ManifestUtilities Tylko program .NET Framework Zawiera klasy używane przez program MSBuild.
Microsoft.Build.Tasks.Hosting wszystkie Zawiera klasy używane wewnętrznie przez program MSBuild.
Microsoft.Build.Tasks.Xaml Tylko program .NET Framework Zawiera klasy związane z zadaniami kompilacji XAML.
Microsoft.Build.Utilities wszystkie Zawiera klasy pomocnicze, których można użyć do tworzenia własnych rejestratorów i zadań PROGRAMU MSBuild.

W poprzedniej tabeli wszystkie w kolumnie Zastosuj do oznacza, że typy w przestrzeni nazw są dostępne zarówno w programie .NET Framework, jak i w wersjach platformy .NET Core interfejsu API MSBuild.