Flux de travail de la création de packagesPackage creation workflow

La création d’un package commence par le code compilé (en général, des assemblys .NET) à empaqueter et à partager en utilisant la galerie nuget.org publique ou une galerie privée au sein de votre organisation.Creating a package starts with the compiled code (typically .NET assemblies) that you want to package and share with others, either through the public nuget.org gallery or a private gallery within your organization. Le package peut également inclure des fichiers supplémentaires comme un fichier Lisez-moi qui s’affiche pendant son installation, ainsi que des transformations apportées à certains fichiers projet.The package can also include additional files such as a readme that is displayed when the package is installed, and can include transformations to certain project files.

Un package peut également servir à uniquement extraire d’autres dépendances, sans contenir de code propre.A package can also serve to only pull in any number of other dependencies, without containing any code of its own. Ce type de package est un moyen pratique de fournir un kit SDK composé de plusieurs packages indépendants.Such a package is a convenient way to deliver an SDK that's composed of multiple independent packages. Dans d’autres cas, un package peut contenir uniquement des fichiers (.pdb) de symboles pour faciliter le débogage.In other cases, a package may contain only symbol (.pdb) files to aid debugging.

Notes

Lorsque vous créez un package pour qu’il soit utilisé par d’autres développeurs, il est important de comprendre que ceux-ci deviennent dépendants de votre travail.When you create a package for use by other developers, it's important to understand that they are taking a dependency on your work. C’est pourquoi la création et la publication d’un package impliquent aussi de s’engager à corriger les bogues et à apporter d’autres mises à jour, ou tout du moins, à rendre le package disponible en open source afin que d’autres puissent participer à sa maintenance.As such, creating and publishing a package also implies a commitment to fixing bugs and making other updates, or at the very least making the package available as open source so others can help to maintain it.

Dans tous les cas, la création d’un package commence par déterminer quels assemblys et autres fichiers doivent être empaquetés.Whatever the case, creating a package begins with deciding which assemblies and other files to package. Ensuite, vous créez un fichier manifeste, appelé fichier .nuspec, pour décrire le contenu du package, ainsi que son identificateur, son numéro de version, ses informations de copyright, ses cibles et propriétés MSBuild, etc.You then create a manifest file, referred to as a .nuspec file, to describe the package's contents along with its identifier, version number, copyright information, MSBuild props and targets, and much more.

Lorsque vous avez préparé tous les fichiers nécessaires dans les dossiers appropriés et que vous avez créé le fichier .nuspec approprié, utilisez la commande nuget pack (ou la cible MSBuild pack) pour tout placer dans un fichier .nupkg.When you've prepared all the necessary files in the appropriate folders and have created the appropriate .nuspec file, you then use the nuget pack command (or the MSBuild pack target) to put everything together into a .nupkg file. Ensuite, vous êtes prêt à déployer le package sur l’hôte qui le met à la disposition d’autres développeurs.You're then ready to deploy the package to whatever host makes it available to other developers.

Conseil

Un package NuGet portant l’extension .nupkg n’est qu’un fichier ZIP.A NuGet package with the .nupkg extension is simply a ZIP file. Pour examiner facilement le contenu d’un package, remplacez l’extension par .zip et développez son contenu comme d’habitude.To easily examine any package's contents, change the extension to .zip and expand its contents as usual. Veillez simplement à remodifier l’extension en .nupkg avant d’essayer de charger le package sur un hôte.Just be sure to change the extension back to .nupkg before attempting to upload it to a host.

Pour apprendre et comprendre le processus de création, commencez par Création d’un package, qui vous guide tout au long des processus de base communs à tous les packages.To learn and understand the creation process, start with Creating a package which guides you through the core processes common to all packages.

À partir de là, vous pouvez envisager plusieurs autres options pour votre package :From there, you can consider a number of other options for your package:

  • Prise en charge de plusieurs frameworks cibles décrit comment créer un package avec plusieurs variantes pour différents .NET Framework.Supporting Multiple Target Frameworks describes how to create a package with multiple variants for different .NET Frameworks.
  • Création de packages localisés décrit comment structurer un package avec plusieurs ressources linguistiques et comment utiliser des packages satellites localisés distincts.Creating Localized Packages describes how to structure a package with multiple language resources and how to use separate localized satellite packages.
  • Packages en préversion montre comment publier des packages alpha, bêta et rc pour les clients intéressés.Pre-release Packages demonstrates how to release alpha, beta, and rc packages to those customers who are interested.
  • Transformations de fichiers sources et de configuration décrit comment effectuer des remplacements unilatéraux de jetons dans les fichiers ajoutés à un projet et modifier web.config et app.config avec des paramètres qui s’annulent à la désinstallation du package.Source and Config File Transformations describes how you can do both one-way token replacements in files that are added to a project, and modify web.config and app.config with settings that are also backed out when the package is uninstalled.
  • Packages de symboles propose des conseils pour fournir des symboles relatifs à votre bibliothèque visant à permettre aux consommateurs de parcourir votre code pendant le débogage.Symbol Packages offers guidance for supplying symbols for your library that allow consumers to step into your code while debugging.
  • Gestion des versions de package explique comment identifier les versions exactes que vous autorisez pour vos dépendances (autres packages que vous consommez à partir de votre package).Package versioning discusses how to identify the exact versions that you allow for your dependencies (other packages that you consume from your package).
  • Packages natifs décrit le processus de création d’un package pour les consommateurs C++.Native Packages describes the process for creating a package for C++ consumers.
  • Signature de packages décrit le processus d’ajout d’une signature numérique à un package.Signing Packages describes the process for adding a digital signature to a package.

Lorsque vous êtes prêt à publier un package sur nuget.org, suivez le processus simple décrit dans Publier un package.When you're then ready to publish a package to nuget.org, follow the simple process in Publish a package.

Si vous voulez utiliser un flux privé au lieu de nuget.org, consultez Vue d’ensemble de l’hébergement des packages.If you want to use a private feed instead of nuget.org, see the Hosting Packages Overview