Gérer des packages NuGet à l’aide de l’interface CLI NuGet

Vous pouvez utiliser l’outil CLI nuget.exe 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 ainsi que sur projets non-SDK-style, par exemple, un projet SDK-style ciblant les bibliothèques .NET Standard. Les commandes CLI NuGet peuvent utiliser un fichier projet packages.config qui répertorie les références de package. Pour les projets de style non SDK utilisant PackageReference au lieu de packages.config pour les références de package, utilisez plutôt l’interface CLI dotnet.

Remarque

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. Cependant, 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 les commandes de l’interface CLI NuGet, ouvrez une ligne de commande et basculez vers le répertoire qui contient votre fichier projet.

Pour obtenir une liste complète des commandes et de leurs arguments, consultez les références sur 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 la variable d’environnement PATH.

Remarque

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

Pour trouver la 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 commande install ne modifie ni le fichier projet ni le fichier packages. config. Les commandes install et restore 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 de Visual Studio ou via la console du gestionnaire de package, enfin exécutez install ou restore.

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

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

Par exemple, pour installer le package Newtonsoft.json 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 dans un autre répertoire. La commande install 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 vers le sous-répertoire packages :

nuget install config\packages.config -OutputDirectory packages

Installer une version particulière d’un package

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

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

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

nuget install Newtonsoft.Json -Version 12.0.1

Lister les packages

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

nuget list -Source <source>

Par exemple, pour lister 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 critère 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 update pour mettre à jour tous les packages d’un fichier projet packages.config vers leurs dernières versions disponibles. Il est préférable de d’exécuter restore avant d’exécuter update.

nuget update

Supprimer un package

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

La suppression de packages à partir du disque ne met pas à jour les fichier projet packages.config ou NuGet.Config. La meilleure façon de supprimer des packages consiste à utiliser l’interface utilisateur du Gestionnaire de package de 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 commande restore ajoute uniquement des packages au disque. Elle ne modifie pas le fichier projet ou packages.config. Pour ajouter des dépendances de projet, utilisez l’interface utilisateur du Gestionnaire de package de Visual Studio ou la console du gestionnaire de package.

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

nuget restore <projectPath>

La commande restore 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 de MySolution.sln dans le répertoire actif, exécutez :

nuget restore MySolution.sln

Remarque

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 Restauration du package.

Étapes suivantes