Dela via


Använda MSBuild-API:et

MSBuild tillhandahåller en offentlig API-yta så att programmet kan utföra byggen och inspektera projekt. De senaste versionerna av MSBuild-API:erna finns i följande NuGet-paket:

Paketnamn Beskrivning
Microsoft.Build Innehåller sammansättningen Microsoft.Build som används för att skapa, redigera och utvärdera MSBuild-projekt.
Microsoft.Build.Framework Innehåller den vanliga MSBuild-ramverkssammansättningen som används av andra MSBuild-sammansättningar.
Microsoft.Build.Runtime Levererar en fullständig körbar kopia av MSBuild. Referera bara till det här paketet om ditt program behöver läsa in projekt eller köra processversioner utan att kräva installation av MSBuild. För att kunna utvärdera projekt med det här paketet måste ytterligare komponenter (till exempel kompilatorerna) aggregeras till en programkatalog.
Microsoft.Build.Tasks.Core Innehåller sammansättningen Microsoft.Build.Tasks som implementerar de vanliga uppgifterna i MSBuild.
Microsoft.Build.Utilities.Core Innehåller sammansättningen Microsoft.Build.Utilities som används för att implementera anpassade MSBuild-uppgifter.

Dessutom är NuGet också värd för en äldre sammansättning, Microsoft.Build.Engine, som är inaktuell.

Det finns flera olika versioner av MSBuild-API:et, och för version 15 och 16 finns det två distinkta former av sammansättningarna i NuGet-paketen, en kompilerad med .NET Framework och en annan kompilerad med .NET Core, som är en delmängd av .NET Framework API-ytan. .NET Core-versionen av MSBuild används när du anropar dotnet kommandot och när du använder MSBuild på Mac- och Linux-system.

Dokumentation för MSBuild-API:et finns i .NET API Browser eller genom att bläddra i namnrymderna i följande lista.

Namespace Gäller för Beskrivning
Microsoft.Build.Construction Allt Innehåller typer som MSBuild-objektmodellen använder för att konstruera projektrötter med ovärderade värden. Varje projektrot motsvarar en projekt- eller målfil.
Microsoft.Build.Definition Allt Innehåller ProjectOptions klassen som stöder projektkonstruktion.
Microsoft.Build.Evaluation Allt Innehåller typer som MSBuild-objektmodellen använder för att utvärdera projekt. Varje projekt är associerat med en eller flera projektrötter.
Microsoft.Build.Evaluation.Context Allt Innehåller klassen EvaluationContext som används för att lagra utvärderingstillstånd mellan anrop.
Microsoft.Build.Exceptions Allt Innehåller undantagstyper som kan genereras under byggprocessen.
Microsoft.Build.Execution Allt Innehåller typer som MSBuild-objektmodellen använder för att skapa projekt.
Microsoft.Build.Framework Allt Innehåller de typer som definierar hur uppgifter och loggare interagerar med MSBuild-motorn.
Microsoft.Build.Framework.Profiler Allt Innehåller de typer som stöder prestandaprofilering.
Microsoft.Build.Framework.XamlTypes Endast .NET Framework Innehåller klasser som används för att representera XAML-typer som parsas från filer, regler och andra källor.
Microsoft.Build.Globbing Allt Innehåller klasser som stöder jokerteckenbearbetning.
Microsoft.Build.Globbing.Extensions Allt Innehåller typer som stöder tillägg till jokerteckenbearbetning.
Microsoft.Build.Graph Allt Innehåller typer som stöder -graph MSBuild-växeln.
Microsoft.Build.Logging Allt Innehåller typer som används för att logga förloppet av en kompilering.
Microsoft.Build.ObjectModelRemoting Allt Innehåller typer som stöder fjärrkommunikation i MSBuild.
Microsoft.Build.Tasks Allt Innehåller implementeringen av alla uppgifter som levereras med MSBuild.
Microsoft.Build.Tasks.Deployment.Bootstrapper Endast .NET Framework Innehåller klasser som används internt av MSBuild.
Microsoft.Build.Tasks.Deployment.ManifestUtilities Endast .NET Framework Innehåller klasser som MSBuild använder.
Microsoft.Build.Tasks.Hosting Allt Innehåller klasser som används internt av MSBuild.
Microsoft.Build.Tasks.Xaml Endast .NET Framework Innehåller klasser som är relaterade till XAML-bygguppgifter.
Microsoft.Build.Utilities Allt Innehåller hjälpklasser som du kan använda för att skapa egna MSBuild-loggare och uppgifter.

I föregående tabell betyder "All" i kolumnen "Gäller för" att typerna i namnområdet är tillgängliga både i .NET Framework- och .NET Core-versionerna av MSBuild-API:et.

MSBuild Locator

MSBuild Locator är ett API som du kan använda för att hitta MSBuild på en dator. Du kan använda det i utveckling av byggverktyg när du vill hitta installerade versioner av MSBuild.

NuGetPackage finns på Microsoft.Build.Locator och referensdokumentationen finns på Microsoft.

Mer information om MSBuildLocator finns i Hitta och använda MSBuild-versioner.