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.