Freigeben über


Erstellen systemeigener Pakete

Ein systemeigenes Paket enthält systemeigene Binärdateien anstelle von verwalteten Assemblys, sodass es in C++-Projekten (oder ähnlichen) Projekten verwendet werden kann. (Siehe Native C++-Pakete im Abschnitt "Verbrauch".)

Um in einem C++-Projekt konsumierbar zu sein, muss ein Paket auf das native Framework ausgerichtet sein. Derzeit gibt es keine Versionsnummern, die diesem Framework zugeordnet sind, da NuGet alle C++-Projekte gleich behandelt.

Hinweis

Achten Sie darauf, native im <tags>-Abschnitt Ihres .nuspec-Pakets einzuschließen, damit andere Entwickler Ihr Paket finden können, indem sie nach diesem Tag suchen.

Native NuGet-Pakete, die native dann Dateien in \build, \content und \tools Ordner bereitstellen; \lib wird in diesem Fall nicht verwendet (NuGet kann keine direkten Verweise auf ein C++-Projekt hinzufügen). Ein Paket kann auch Targets und Props-Dateien in \build enthalten, die NuGet automatisch in Projekte importiert, die das Paket nutzen. Diese Dateien müssen denselben Namen wie die Paket-ID mit der .targets und/oder .props Erweiterung haben. Beispielsweise enthält das Microsoft.Web.WebView2-Paket eine Microsoft.Web.WebView2.targets Datei in seinem \build Ordner.

Der \build Ordner kann für alle NuGet-Pakete und nicht nur für systemeigene Pakete verwendet werden. Der \build Ordner respektiert Zielframeworks genau wie die \content, \libund \tools Ordner. Dies bedeutet, dass Sie einen \build\net40 Ordner und einen \build\net45 Ordner erstellen können und NuGet die entsprechenden Props und Zieldateien in das Projekt importiert. (Die Verwendung von PowerShell-Skripts zum Importieren von MSBuild-Zielen ist nicht erforderlich.)