Megosztás:


Az MSBuild API használata

Az MSBuild nyilvános API-felületet biztosít, hogy a program buildeket hajthat végre és megvizsgálhat projekteket. Az MSBuild API-k legújabb verziói a következő NuGet-csomagokban találhatók:

A csomag neve Leírás
Microsoft.Build Az MSBuild-projektek létrehozásához, szerkesztéséhez és kiértékeléséhez használt Microsoft.Build szerelvényt tartalmazza.
Microsoft.Build.Framework Tartalmazza a más MSBuild szerelvények által használt közös MSBuild keretrendszer-szerelvényt.
Microsoft.Build.Runtime Az MSBuild teljes végrehajtható másolatát kézbesíti. Csak akkor hivatkozzon erre a csomagra, ha az alkalmazásnak projekteket kell betöltenie vagy folyamaton belüli buildeket kell végrehajtania az MSBuild telepítése nélkül. Projektek sikeres kiértékeléséhez további összetevőket (például fordítókat) kell bevonni egy alkalmazáskönyvtárba.
Microsoft.Build.Tasks.Core A Microsoft.Build.Tasks szerelvényt tartalmazza, amely implementálja az MSBuild gyakran használt feladatait.
Microsoft.Build.Utilities.Core Az egyéni MSBuild-feladatok implementálásához használt Microsoft.Build.Utilities szerelvényt tartalmazza.

Emellett a NuGet egy régi szerelvényt, a Microsoft.Build.Engine-t is üzemeltet, amely elavult.

Az MSBuild API több különböző verziója is létezik, és a 15-ös és a 16-os verziók esetében a NuGet-csomagokban a szerelvények két különböző formája található meg, az egyik a .NET-keretrendszerrel, a másik pedig a .NET Core-val van lefordítva, amely a .NET-keretrendszer API-felületének egy része. Az MSBuild .NET Core-verziója a parancs meghívásakor, valamint az dotnet MSBuild Mac és Linux rendszereken való használatakor használatos.

Az MSBuild API dokumentációja a .NET API Browser használatával vagy az alábbi lista névtereinek böngészésével érhető el.

Namespace A következőkre vonatkozik: Leírás
Microsoft.Build.Construction Összes Olyan típusokat tartalmaz, amelyeket az MSBuild objektummodell a projektgyökerek nem értékelt értékekkel való létrehozásához használ. Minden projektgyökér egy projektnek vagy egy célfájlnak felel meg.
Microsoft.Build.Definition Összes A projektépítést ProjectOptions támogató osztályt tartalmazza.
Microsoft.Build.Evaluation Összes Olyan típusokat tartalmaz, amelyeket az MSBuild objektummodell a projektek kiértékeléséhez használ. Minden projekt egy vagy több projektgyökérhöz van társítva.
Microsoft.Build.Evaluation.Context Összes EvaluationContext A kiértékelési állapot hívások közötti tárolására használt osztályt tartalmazza.
Microsoft.Build.Exceptions Összes Olyan kivételtípusokat tartalmaz, amelyeket a buildelési folyamat során lehet dobni.
Microsoft.Build.Execution Összes Olyan típusokat tartalmaz, amelyeket az MSBuild objektummodell projektek létrehozásához használ.
Microsoft.Build.Framework Összes Azokat a típusokat tartalmazza, amelyek meghatározzák, hogy a tevékenységek és a naplózók hogyan használják az MSBuild motort.
Microsoft.Build.Framework.Profiler Összes A teljesítményprofilozást támogató típusokat tartalmazza.
Microsoft.Build.Framework.XamlTypes Csak .NET-keretrendszer A fájlokból, szabályokból és egyéb forrásokból elemzett XAML-típusok megjelenítésére használt osztályokat tartalmazza.
Microsoft.Build.Globbing Összes Helyettesítő karakterek feldolgozását támogató osztályokat tartalmaz.
Microsoft.Build.Globbing.Extensions Összes Olyan típusokat tartalmaz, amelyek támogatják a helyettesítő karakterek feldolgozását.
Microsoft.Build.Graph Összes Olyan típusokat tartalmaz, amelyek támogatják a -graph MSBuild kapcsolót.
Microsoft.Build.Logging Összes A buildek állapotának naplózásához használt típusokat tartalmazza.
Microsoft.Build.ObjectModelRemoting Összes Olyan típusokat tartalmaz, amelyek támogatják az MSBuild távvezérlését.
Microsoft.Build.Tasks Összes Az MSBuild szolgáltatással végzett összes feladat végrehajtását tartalmazza.
Microsoft.Build.Tasks.Deployment.Bootstrapper Csak .NET-keretrendszer Az MSBuild által belsőleg használt osztályokat tartalmazza.
Microsoft.Build.Tasks.Deployment.ManifestUtilities Csak .NET-keretrendszer Az MSBuild által használt osztályokat tartalmazza.
Microsoft.Build.Tasks.Hosting Összes Az MSBuild által belsőleg használt osztályokat tartalmazza.
Microsoft.Build.Tasks.Xaml Csak .NET-keretrendszer XAML-buildfeladatokhoz kapcsolódó osztályokat tartalmaz.
Microsoft.Build.Utilities Összes Segédosztályokat tartalmaz, amelyekkel saját MSBuild-naplózókat és -feladatokat hozhat létre.

Az előző táblában az Összes az Applies To oszlopban azt jelenti, hogy a névtérben lévő típusok az MSBuild API .NET-keretrendszerében és .NET Core-verzióiban egyaránt elérhetők.

MSBuild-lokátor

Az MSBuild Locator egy API, amellyel megkeresheti az MSBuildet egy gépen. Az MSBuild telepített verzióinak megkeresésekor használhatja a buildeszközök fejlesztése során.

A NuGetPackage a Microsoft.Build.Locator webhelyen található, a referenciadokumentáció pedig a Microsoftnál található.

Az MSBuildLocatorról további információt az MSBuild-verziók keresése és használata című témakörben talál.