Delen via


De MSBuild-API gebruiken

MSBuild biedt een openbare API-surface, zodat uw programma builds kan uitvoeren en projecten kan inspecteren. Recente versies van de MSBuild-API's vindt u in de volgende NuGet-pakketten:

Naam van het pakket Beschrijving
Microsoft.Build Bevat de Microsoft.Build-assembly die wordt gebruikt voor het maken, bewerken en evalueren van MSBuild-projecten.
Microsoft.Build.Framework Bevat de algemene MSBuild Framework-assembly die wordt gebruikt door andere MSBuild-assembly's.
Microsoft.Build.Runtime Levert een volledige uitvoerbare kopie van MSBuild. Verwijs alleen naar dit pakket als uw toepassing projecten moet laden of builds in proces moet uitvoeren zonder dat MSBuild hoeft te worden geïnstalleerd. Voor het evalueren van projecten die dit pakket gebruiken, moeten extra onderdelen (zoals de compilers) worden samengevoegd in een toepassingsmap.
Microsoft.Build.Tasks.Core Bevat de assembly Microsoft.Build.Tasks waarmee de veelgebruikte taken van MSBuild worden geïmplementeerd.
Microsoft.Build.Utilities.Core Bevat de Assembly Microsoft.Build.Utilities die wordt gebruikt voor het implementeren van aangepaste MSBuild-taken.

Daarnaast host NuGet ook een verouderde assembly, Microsoft.Build.Engine, die is afgeschaft.

Er zijn verschillende versies van de MSBuild-API en voor versie 15 en 16 zijn er twee verschillende vormen van de assembly's in de NuGet-pakketten, één gecompileerd met .NET Framework en een andere die is gecompileerd met .NET Core, een subset van het .NET Framework API-oppervlak. De .NET Core-versie van MSBuild wordt gebruikt wanneer u de dotnet opdracht aanroept en wanneer u MSBuild op Mac- en Linux-systemen gebruikt.

Documentatie voor de MSBuild-API vindt u met behulp van de .NET API-browser of door door de naamruimten in de volgende lijst te bladeren.

Namespace Van toepassing op Beschrijving
Microsoft.Build.Construction Alle Bevat typen die het MSBuild-objectmodel gebruikt om projectwortels met niet-geëvalueerde waarden samen te stellen. Elke projecthoofdmap komt overeen met een project of doelbestand.
Microsoft.Build.Definition Alle Bevat de ProjectOptions klasse, die ondersteuning biedt voor projectconstructie.
Microsoft.Build.Evaluation Alle Bevat typen die het MSBuild-objectmodel gebruikt om projecten te evalueren. Elk project is gekoppeld aan een of meer projectroots.
Microsoft.Build.Evaluation.Context Alle Bevat de EvaluationContext klasse, die wordt gebruikt voor het opslaan van de evaluatiestatus tussen aanroepen.
Microsoft.Build.Exceptions Alle Bevat uitzonderingstypen die kunnen worden gegenereerd tijdens het buildproces.
Microsoft.Build.Execution Alle Bevat typen die het MSBuild-objectmodel gebruikt om projecten te bouwen.
Microsoft.Build.Framework Alle Bevat de typen die bepalen hoe taken en logboekregistraties communiceren met de MSBuild-engine.
Microsoft.Build.Framework.Profiler Alle Bevat de typen die ondersteuning bieden voor prestatieprofilering.
Microsoft.Build.Framework.XamlTypes Alleen .NET Framework Bevat klassen die worden gebruikt om XAML-typen weer te geven die zijn geparseerd uit bestanden, regels en andere bronnen.
Microsoft.Build.Globbing Alle Bevat klassen die ondersteuning bieden voor verwerking met jokertekens.
Microsoft.Build.Globbing.Extensions Alle Bevat typen die extensies voor verwerking met jokertekens ondersteunen.
Microsoft.Build.Graph Alle Bevat typen die ondersteuning bieden voor de -graph MSBuild-switch.
Microsoft.Build.Logging Alle Bevat typen die worden gebruikt voor het vastleggen van de voortgang van een build.
Microsoft.Build.ObjectModelRemoting Alle Bevat typen die remoting in MSBuild ondersteunen.
Microsoft.Build.Tasks Alle Bevat de implementatie van alle taken die met MSBuild worden geleverd.
Microsoft.Build.Tasks.Deployment.Bootstrapper Alleen .NET Framework Bevat klassen die intern worden gebruikt door MSBuild.
Microsoft.Build.Tasks.Deployment.ManifestUtilities Alleen .NET Framework Bevat klassen die MSBuild gebruikt.
Microsoft.Build.Tasks.Hosting Alle Bevat klassen die intern worden gebruikt door MSBuild.
Microsoft.Build.Tasks.Xaml Alleen .NET Framework Bevat klassen met betrekking tot XAML-buildtaken.
Microsoft.Build.Utilities Alle Bevat helperklassen die u kunt gebruiken om uw eigen MSBuild-loggers en -taken te maken.

In de vorige tabel betekent 'Allemaal' in de kolom 'Van toepassing op' dat de typen in de naamruimte beschikbaar zijn in zowel de .NET Framework- als de .NET Core-versies van de MSBuild-API.

MSBuild Locator

MSBuild Locator is een API die u kunt gebruiken om MSBuild op een computer te vinden. U kunt het gebruiken in de ontwikkeling van buildhulpprogramma's, wanneer u geïnstalleerde versies van MSBuild wilt zoeken.

NuGetPackage bevindt zich bij Microsoft.Build.Locator en de referentiedocumentatie bevindt zich bij Microsoft.

Zie MSBuildLocator-versies zoeken en gebruiken voor meer informatie over MSBuildLocator.