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.
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.