Flux de travail de la consommation des packages

Entre nuget.org et les galeries privées de packages que votre organisation peut avoir créées, vous avez à disposition des dizaines de milliers de packages très utiles pour vos applications et vos services. Toutefois, quelle que soit la source, la consommation d’un package suit le même flux de travail général.

Flow of going to a package source, finding a package, installing it in a project, then adding a using statement and calls to the package API

* Visual Studio et dotnet.exe uniquement. La nuget install commande ne modifie pas les fichiers projet ou le packages.config fichier ; les entrées doivent être gérées manuellement.

Pour plus d’informations, consultez Trouver et choisir des packages et Processus d’installation d’un package.

NuGet se souvient de l’identité et du numéro de version de chaque package installé. Il les enregistre le fichier projet (avec PackageReference) ou dans packages.config, selon le type du projet et la version de NuGet. Avec NuGet 4.0+, PackageReference est recommandé, bien que cela soit configurable dans Visual Studio à l’aide de l’interface utilisateur du Gestionnaire de package. Dans tous les cas, vous pouvez rechercher dans le fichier approprié à tout moment pour voir la liste complète des dépendances de votre projet.

Conseil

Il est préférable de toujours vérifier la licence pour chaque package que vous souhaitez utiliser dans votre logiciel. Pour vérifier la licence, sur Nuget.org, cliquez sur le lien License Info situé à droite, dans la page de description de chaque package. Si un package ne spécifie pas les termes du contrat de licence, contactez le propriétaire du package directement à l’aide du lien Contact owners (Contacter les propriétaires) dans la page du package. Microsoft ne vous concède aucune licence de propriété intellectuelle de fournisseurs de packages tiers et n’est pas responsable des informations fournies par des tiers.

Lors de l’installation des packages, NuGet vérifie généralement si le package est déjà disponible dans son cache. Vous pouvez effacer manuellement ce cache en ligne de commande, comme l’explique la page Gérer les dossiers de packages globaux et de cache.

NuGet vérifie également que les versions cibles de .NET Framework prises en charge par le package sont compatibles avec votre projet. Si le package ne contient pas d’assemblys compatibles, NuGet affiche une erreur. Consultez Résolution des erreurs de package incompatible.

Lorsque vous ajoutez du code de projet à un référentiel source, vous n’incluez généralement pas les packages NuGet. Si vous décidez de cloner ultérieurement le référentiel ou d’acquérir le projet d’une autre manière (y compris avec des agents de génération sur des systèmes comme Visual Studio Team Services), vous devrez restaurer les packages avant d’exécuter une génération :

Flow of restoring NuGet packages by cloning a repository and using either a restore command

La restauration du package utilise les informations du fichier projet ou de packages.config pour réinstaller toutes les dépendances. Notez qu’il existe des différences dans le processus concerné, comme décrit dans Résolution des dépendances. Par ailleurs, le diagramme ci-dessus ne montre pas de commande de restauration pour la console du Gestionnaire de package. En effet, si vous êtes dans la console, celle-ci se trouve déjà dans le contexte de Visual Studio, qui en général restaure automatiquement les packages et fournit la commande indiquée au niveau de la solution.

Il est parfois nécessaire de réinstaller les packages qui sont déjà inclus dans un projet, ce qui peut également réinstaller les dépendances. Pour cela, utilisez la commande nuget reinstall ou la console du Gestionnaire de package NuGet. Pour plus d’informations, consultez Réinstallation et mise à jour des packages.

Enfin, le comportement de NuGet est régi par des fichiers NuGet.Config. Plusieurs fichiers peuvent être utilisés pour centraliser certains paramètres à différents niveaux, comme expliqué dans Configuration du comportement de NuGet.

Méthodes d’installation d’un package NuGet

Les packages NuGet peuvent être téléchargés et installés à l’aide des méthodes présentées dans le tableau suivant.

Outil Plateformes Description
Interface CLI .NET Tous Outil CLI pour les bibliothèques .NET Core et .NET Standard et pour les projets de style SDK qui ciblent le .NET Framework (consultez Attribut SDK). Récupère le package identifié par <package_name> et ajoute une référence au fichier projet. Récupère et installe également les dépendances.
Visual Studio Windows et Mac Fournit une interface utilisateur via laquelle vous pouvez parcourir, sélectionner et installer des packages et leurs dépendances dans un projet à partir d’une source de package spécifiée. Ajoute des références aux packages installés dans le fichier projet.
Console du Gestionnaire de package (Visual Studio) Windows uniquement Récupère et installe le package identifié par <package_name> d’une source sélectionnée dans un projet spécifié dans la solution, puis ajoute une référence au fichier projet. Récupère et installe également les dépendances.
Interface CLI de nuget.exe Tous Outil CLI pour les bibliothèques .NET Framework et les projets qui ne sont pas de style SDK ciblant les bibliothèques .NET Standard. Récupère le package identifié par <package_name> et développe son contenu dans un dossier du répertoire actif. Peut également récupérer tous les packages listés dans un fichier packages.config. Récupère et installe également les dépendances, mais n’apporte aucune modification aux fichiers projet ni à packages.config.