Création de packages natifs

Un package natif contient des binaires natifs au lieu d’assemblys managés, ce qui lui permet d’être utilisé dans des projets C++ (ou similaires). (Consultez Packages C++ natifs dans la section Consommer.)

Pour être consommable dans un projet C++, un package doit cibler le framework native. Actuellement, aucun numéro de version n’est associé à ce framework car NuGet traite tous les projets C++ de la même façon.

Remarque

Veillez à inclure natif dans la section <tags> de votre .nuspec pour aider les autres développeurs à trouver votre package en recherchant cette étiquette.

Les packages NuGet natifs ciblant native fournissent ensuite des fichiers dans des dossiers \build, \content et \tools ; \lib n’est pas utilisé dans ce cas (NuGet ne peut pas ajouter directement des références à un projet C++). Un package peut également inclure des cibles et des fichiers props dans \build que NuGet va automatiquement importer dans les projets qui consomment le package. Ces fichiers doivent être nommés de la même façon que l’ID de package et porter des extensions .targets et/ou .props. Par exemple, le package Microsoft.Web.WebView2 inclut un fichier Microsoft.Web.WebView2.targets dans son dossier \build.

Le dossier \build peut être utilisé pour tous les packages NuGet et pas simplement les packages natifs. Le dossier \build respecte les frameworks cibles à l’instar des dossiers \content, \lib et \tools. Cela signifie que vous pouvez créer un dossier \build\net40 et un dossier \build\net45 pour que NuGet importe les fichiers de propriétés et de cibles appropriés dans le projet. (L’utilisation de scripts PowerShell pour importer des cibles MSBuild n’est pas nécessaire.)