Erstellen von nativen PaketenCreating native packages

Ein natives Paket enthält native Binärdateien anstelle von verwalteten Assemblys, sodass es innerhalb von C++-Projekten (oder ähnlichen Projekten) verwendet werden kann.A native package contains native binaries instead of managed assemblies, allowing it to be used within C++ (or similar) projects. (Lesen Sie hierzu den Absatz zum Thema Native C++-Pakete im Abschnitt zum Thema „Verwenden“.)(See Native C++ Packages in the Consume section.)

Ein Paket muss das Framework native als Ziel haben, damit Sie dieses in einem C++-Projekt verwenden können.To be consumable in a C++ project, a package must target the native framework. Derzeit sind diesem Framework keine Versionsnummern zugeordnet, da NuGet alle C++-Projekte gleich behandelt.At present there are not any version numbers associated with this framework as NuGet treats all C++ projects the same.

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.Be sure to include native in the <tags> section of your .nuspec to help other developers find your package by searching on that tag.

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.Native NuGet packages targeting native then provide files in \build, \content, and \tools folders; \lib is not used in this case (NuGet cannot directly add references to a C++ project). Ein Paket kann im Ordner \build auch Zieldateien und Eigenschaftendateien enthalten, die NuGet automatisch in die Projekte importiert, die das Paket verwenden.A package may also include targets and props files in \build that NuGet will automatically import into projects that consume the package. Diese Dateien müssen den gleichen Namen wie die Paket-IDs mit den Erweiterungen .targets und/oder .props aufweisen.Those files must be named the same as the package ID with the .targets and/or .props extensions. Beispielsweise enthält das Paket cpprestsdk im Ordner \build eine Datei des Typs cpprestsdk.targets.For example, the cpprestsdk package includes a cpprestsdk.targets file in its \build folder.

Der Ordner \build kann für alle NuGet-Pakete und nicht nur für native Pakete verwendet werden.The \build folder can be used for all NuGet packages and not just native packages. Der Ordner \build berücksichtigt Zielframeworks ebenso wie die Ordner \content, \lib und \tools.The \build folder respects target frameworks just like the \content, \lib, and \tools folders. 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.This means you can create a \build\net40 folder and a \build\net45 folder and NuGet will import the appropriate props and targets files into the project. (PowerShell-Skripts sind zum Importieren von MSBuild-Zielen nicht erforderlich.)(Use of PowerShell scripts to import MSBuild targets is not needed.)