Erstellen von nativen Paketen

Ein natives Paket enthält native Binärdateien anstelle von verwalteten Assemblys, sodass es innerhalb von C++-Projekten (oder ähnlichen Projekten) verwendet werden kann. (Lesen Sie hierzu den Absatz zum Thema Native C++-Pakete im Abschnitt zum Thema „Verwenden“.)

Ein Paket muss das Framework native als Ziel haben, damit Sie dieses in einem C++-Projekt verwenden können. Derzeit sind diesem Framework keine Versionsnummern zugeordnet, da NuGet alle C++-Projekte gleich behandelt.

Hinweis

Schließen Sie im Abschnitt <tags> Ihrer .nuspec-Datei unbedingt native ein, damit andere Entwickler das Paket finden können, indem sie nach diesem Tag suchen.

Native NuGet-Pakete mit dem Ziel native stellen dann in den Ordnern \build, \content und \tools Dateien bereit; \lib wird in diesem Fall nicht verwendet, da NuGet keine direkten Verweise auf C++-Projekte hinzufügen kann. Ein Paket kann im Ordner \build auch Zieldateien und Eigenschaftendateien enthalten, die NuGet automatisch in die Projekte importiert, die das Paket verwenden. Diese Dateien müssen den gleichen Namen wie die Paket-IDs mit den Erweiterungen .targets und/oder .props aufweisen. Beispielsweise enthält das Microsoft.Web.WebView2-Paket eine Microsoft.Web.WebView2.targets Datei in seinem \build Ordner.

Der Ordner \build kann für alle NuGet-Pakete und nicht nur für native Pakete verwendet werden. Der Ordner \build berücksichtigt Zielframeworks ebenso wie die Ordner \content, \lib und \tools. Dies bedeutet, dass Sie einen Ordner namens \build\net40 und einen namens \build\net45 erstellen können und NuGet die entsprechenden Eigenschaftendateien und Zieldateien dann in das Projekt importiert. (PowerShell-Skripts sind zum Importieren von MSBuild-Zielen nicht erforderlich.)