Gérer les packages NuGet avec l’interface CLI NuGet

Vous pouvez utiliser l’outil nuget.exe CLI pour gérer les packages NuGet dans les projets et solutions Visual Studio. Cet article décrit les commandes CLI NuGet les plus courantes pour la gestion des packages NuGet. Toutes ces commandes fonctionnent sur Windows, et la plupart fonctionnent sur Mac et sur Linux avec Mono.

L’interface CLI NuGet s’exécute sur .NET Framework et sur des projets de style non SDK, par exemple des projets de style non SDK qui ciblent des bibliothèques .NET Standard. Les commandes CLI NuGet peuvent utiliser un fichier packages.config projet qui répertorie les références de package. Pour les projets de style non SDK qui utilisent PackageReference au lieu de packages.config pour les références de package, utilisez plutôt l’interface CLI dotnet .

Notes

Pour la plupart des projets de style non SDK qui utilisent packages.config, il est préférable de migrer packages.config vers PackageReference, puis d’utiliser l’interface CLI dotnet au lieu de l’interface CLI NuGet pour gérer les packages. Toutefois, vous ne pouvez pas migrer les projets C++ ou ASP.NET.

Pour la plupart des commandes, l’outil CLI NuGet utilise le répertoire actif, sauf si vous spécifiez un autre emplacement dans la commande. Pour exécuter des commandes CLI NuGet, ouvrez une ligne de commande et basculez vers le répertoire qui contient votre fichier projet.

Pour obtenir la liste complète des commandes et de leurs arguments, consultez la référence de l’interface CLI NuGet.

Prérequis

Téléchargez l’interface CLI NuGet à partir de nuget.org. Enregistrez le fichier nuget.exe dans un répertoire approprié et vérifiez que le répertoire se trouve dans votre variable d’environnement PATH.

Notes

Vous pouvez également utiliser l’outil winget pour Windows ou Homebrew pour macOS.

Pour connaître votre version de l’interface CLI NuGet, ouvrez une ligne de commande et exécutez nuget help, ou pour éviter d’avoir à faire défiler vers le haut, utilisez nuget help | more. La première ligne de la sortie d'aide affiche la version.

Installer un package

La commande d’installation de l’interface cli NuGet télécharge et installe les packages NuGet spécifiés.

Important

La install commande ne modifie pas le fichier projet ou packages.config fichier. Les install commandes et restore les commandes ajoutent uniquement des packages au disque, mais n’ajoutent pas de dépendances aux projets. Pour ajouter des dépendances de projet, ajoutez des packages via l’interface utilisateur du Gestionnaire de package Visual Studio ou la console du Gestionnaire de package, puis exécutez install ou restore.

Utilisez l’option permettant d’installer -OutputDirectory des packages dans un répertoire spécifique. Si vous ne spécifiez pas de répertoire de sortie, install utilisez le répertoire actif.

nuget install <packageID | configFilePath> -OutputDirectory <outputDirectory>

Par exemple, pour installer le Newtonsoft.json package dans le sous-répertoire packages , utilisez la commande suivante :

nuget install Newtonsoft.Json -OutputDirectory packages

Au lieu de spécifier un package à installer, vous pouvez spécifier un fichier packages.config existant dans le répertoire actif ou un autre répertoire. La install commande installe tous les packages répertoriés dans le fichier packages.config .

nuget install packages.config

Par exemple, la commande suivante installe tous les packages répertoriés dans packages.config dans le sous-répertoire config dans le sous-répertoire de packages :

nuget install config\packages.config -OutputDirectory packages

Installer une version particulière d’un package

La install commande installe la dernière version d’un package, sauf si vous spécifiez une autre version. Pour installer une version spécifique d’un package, utilisez l’option -Version suivante :

nuget install <packageID | configFilePath> -Version <version>

Par exemple, pour installer la version 12.0.1 du Newtonsoft.json package, utilisez :

nuget install Newtonsoft.Json -Version 12.0.1

Lister les packages

Utilisez la commande de liste pour afficher une liste de packages installés dans les dossiers de packages. Utilisez l’option -Source permettant de restreindre la liste.

nuget list -Source <source>

Par exemple, pour répertorier les packages dans le sous-répertoire packages de MyProject, utilisez :

nuget list -Source C:\Users\%USERNAME%\source\repos\MyProject\packages

Vous pouvez également utiliser un terme de recherche pour rechercher des noms de package, des balises ou des descriptions :

nuget list <"search term"> -Source <source>

Mettre à jour tous les packages

Utilisez la commande de mise à jour pour mettre à jour tous les packages d’un fichier packages.config projet vers leurs dernières versions disponibles. Il est préférable de s’exécuter restore avant d’exécuter update.

nuget update

Supprimer un package

Pour supprimer un package, supprimez ce package du dossier du projet. Pour réinstaller des packages, utilisez les commandes ou install les restore commandes.

La suppression de packages du disque ne met pas à jour le projet, packages.configou les fichiersNuGet.Config . La meilleure façon de supprimer des packages consiste à utiliser l’interface utilisateur du Gestionnaire de package Visual Studio ou la console du Gestionnaire de package.

Restaurer des packages

La commande de restauration de l’interface CLI NuGet télécharge et installe les packages manquants. La commande fonctionne sur les projets qui utilisent PackageReference ou packages.config pour les références de package.

Comme install, la restore commande ajoute uniquement des packages au disque, mais ne modifie pas le fichier projet ou packages.config. Pour ajouter des dépendances de projet, utilisez l’interface utilisateur ou la console du Gestionnaire de package Visual Studio.

Pour restaurer des packages, exécutez la commande suivante :

nuget restore <projectPath>

La restore commande utilise un fichier solution ou un fichier package.config dans le chemin d’accès du projet spécifié.

Par exemple, pour restaurer tous les packages pour MySolution.sln dans le répertoire actif, exécutez :

nuget restore MySolution.sln

Notes

Pour les projets de style non SDK qui utilisent PackageReference, utilisez msbuild -t:restore pour restaurer des packages à la place.

Pour plus d’informations, consultez Restaurer des packages.

Étapes suivantes