Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
La console du Gestionnaire de package dans Visual Studio utilise des commandes PowerShell pour interagir avec les packages NuGet. Vous pouvez utiliser la console lorsqu’il n’existe aucun moyen d’effectuer une opération via l’interface utilisateur du Gestionnaire de package. Vous pouvez également utiliser les commandes CLI dotnet ou NuGet CLI dans la console.
Cet article explique comment rechercher, installer, mettre à jour et désinstaller des packages NuGet avec des commandes PowerShell dans la console du Gestionnaire de package. Pour obtenir la référence complète de la commande PowerShell de la console du Gestionnaire de package, consultez la référence PowerShell.
Important
Les commandes et arguments PowerShell de cet article sont spécifiques à la console du Gestionnaire de package Visual Studio. Ces commandes diffèrent des commandes du module PackageManagement que vous pouvez utiliser dans un environnement PowerShell général. Chaque environnement a des commandes qui ne sont pas disponibles dans l’autre, et les commandes portant le même nom peuvent différer dans leurs arguments spécifiques.
Disponibilité de la console
À partir de Visual Studio 2017, NuGet et le Gestionnaire de package NuGet s'installent automatiquement lorsque vous créez des charges de travail associées à n'importe quel projet .NET dans Visual Studio. Vous pouvez également installer le Gestionnaire de package en sélectionnant composants individuels>outils de code>gestionnaire de package NuGet dans Visual Studio Installer.
Vous pouvez également rechercher l’extension Gestionnaire de package NuGet sous les menusExtensions et Mises à jour et Extensions des >. Si vous ne parvenez pas à utiliser le programme d’installation des extensions dans Visual Studio, vous pouvez télécharger l’extension directement à partir de https://dist.nuget.org/index.html.
La console du Gestionnaire de package est intégrée au Gestionnaire de package pour Visual Studio sur Windows. Visual Studio Code et Visual Studio pour Mac n’incluent pas la console. Visual Studio pour Mac dispose d’une interface utilisateur permettant de gérer les packages NuGet et les commandes de console équivalentes sont disponibles via l’interface CLI NuGet. Pour plus d’informations, consultez Installer et gérer des packages NuGet dans Visual Studio pour Mac.
Rechercher et installer rapidement un package
Pour utiliser la console du Gestionnaire de package pour rechercher et installer rapidement un package :
Ouvrez votre projet ou solution dans Visual Studio, puis sélectionnez Outils>NuGet Package Manager> Console pour ouvrir la fenêtre Console du Gestionnaire de package.
Dans la console, entrez
Find-Packageavec un mot clé pour trouver le package que vous souhaitez installer. Par exemple, pour rechercher des packages qui contiennent le mot cléelmah, exécutez la commande suivante. Si vous connaissez déjà le nom du package souhaité, ignorez cette étape.Find-Package elmahUne fois le nom trouvé, utilisez la
Install-Packagecommande pour installer le package. Par exemple, pour installer leElmah.MVCpackage, entrez :Install-Package Elmah.MVC
Pour plus d’informations sur ces commandes, consultez les sections Rechercher un package et Installer un package .
Conseil / Astuce
De nombreuses opérations de console dépendent d’une solution avec un nom de chemin connu ouvert dans Visual Studio. Si vous avez une solution non enregistrée ou aucune solution, vous voyez que la solution d’erreur n’est pas ouverte ou n’est pas enregistrée. Vérifiez que vous disposez d’une solution ouverte et enregistrée. Pour corriger l’erreur, créez et enregistrez une solution ou enregistrez une solution non enregistrée.
Contrôles de console
Pour ouvrir la console du Gestionnaire de package dans Visual Studio, sélectionnez Tools>NuGet Package Manager> Console dans le menu supérieur. La console est une fenêtre Visual Studio que vous pouvez organiser et positionner comme vous le souhaitez. Pour plus d’informations, consultez Personnaliser les dispositions de fenêtre dans Visual Studio.
Par défaut, les commandes de console fonctionnent sur la source et le projet de package spécifiques affichés dans les contrôles en haut de la fenêtre :
La sélection d’une autre source de package ou d’un projet modifie les valeurs par défaut pour les commandes suivantes. Pour remplacer ces paramètres pour les commandes uniques sans modifier les valeurs par défaut, la plupart des commandes de console prennent en charge -Source et -ProjectName options.
Pour gérer les sources de packages, sélectionnez l'icône de roue dentée, qui ouvre la boîte de dialogue Outils>Options>Gestionnaire de packages NuGet>Sources de packages. Le contrôle situé à côté du sélecteur de projet vide le contenu de la console.
Le bouton situé à l’extrême droite interrompt une commande en cours. Par exemple, l’exécution Get-Package -ListAvailable -PageSize 500 répertorie les 500 premiers packages disponibles sur la source par défaut, comme nuget.org, ce qui peut prendre plusieurs minutes.
Rechercher un package
Pour rechercher un package dans la source par défaut, utilisez Find-Package.
Pour rechercher et répertorier des packages qui contiennent certains mots clés :
Find-Package <keyword1> Find-Package <keyword2>Pour rechercher et répertorier les packages dont le nom commence par une chaîne :
Find-Package <string> -StartWithPar défaut,
Find-Packageretourne une liste de 20 packages. Permet-Firstd’afficher d’autres packages. Par exemple, pour afficher les 100 premiers packages, utilisez :Find-Package <keyword> -First 100Pour répertorier toutes les versions d’un certain package :
Find-Package <PackageName> -AllVersions -ExactMatch
Installer un package
Pour installer un package dans le projet par défaut, utilisez Install-Package <PackageName>. La commande de console Install-Package effectue les actions suivantes :
- Est-ce que cela effectue les étapes décrites dans ce qui se passe lorsqu’un package NuGet est installé ?
- Affiche les termes de licence applicables dans la fenêtre de console avec un contrat implicite. Si vous n’acceptez pas les termes, vous devez désinstaller le package.
- Ajoute une référence au package dans le fichier projet et dans l’Explorateur de solutions sous le nœud Références . Vous devez enregistrer le projet avant de voir les modifications apportées au fichier projet.
Par défaut, Install-Package ajoute le package au projet par défaut spécifié par la fenêtre de console. Pour ajouter le package à un projet qui n’est pas la valeur par défaut, utilisez l’option -ProjectName . Par exemple, pour ajouter le Elmah.MVC package au projet non par défaut UtilitiesLib , exécutez la commande suivante :
Install-Package Elmah.MVC -ProjectName UtilitiesLib
Désinstaller un package
Pour désinstaller un package du projet par défaut, utilisez Uninstall-Package <PackageName>. Si vous avez besoin de trouver le nom du package, utilisez Get-Package pour voir tous les packages installés dans le projet par défaut.
Uninstall-Package effectue les actions suivantes :
- Supprime les références au package du projet et à tous les formats de gestion. Les références n’apparaissent plus dans l’Explorateur de solutions. Vous devrez peut-être reconstruire le projet pour supprimer la référence dans le dossier bin .
- Annule les modifications que l'installation du package a apportées à app.config ou web.config.
- Supprime les dépendances précédemment installées si aucun package restant n’utilise ces dépendances.
Pour désinstaller un package et toutes ses dépendances inutilisées, exécutez :
Uninstall-Package <PackageName> -RemoveDependencies
Pour désinstaller un package même si d’autres packages dépendent de celui-ci, exécutez :
Uninstall-Package <PackageName> -Force
Mettre à jour un package
Pour mettre à jour un package, utilisez Get-Package et Update-Package. Vous pouvez exécuter les commandes suivantes :
Pour vérifier s’il existe des versions plus récentes disponibles pour les packages installés :
Get-Package -updatesPour mettre à jour un package spécifique :
Update-Package <PackageName>Pour mettre à jour tous les packages dans un projet :
Update-Package -ProjectName <ProjectName>Pour mettre à jour tous les packages dans la solution :
Update-Package
Utiliser l’interface CLI NuGet dans la console
Vous pouvez également effectuer la plupart des opérations de console avec l’interface CLI NuGet. Toutefois, les commandes de console PowerShell fonctionnent dans le contexte du projet et de la solution enregistrés de Visual Studio, et font souvent plus que leurs commandes CLI NuGet équivalentes. Par exemple, installer un package par Install-Package ajoute une référence au fichier de projet, mais la commande CLI NuGet, elle, ne le fait pas. Pour cette raison, les développeurs qui travaillent dans Visual Studio préfèrent généralement utiliser les commandes de console plutôt que l’interface CLI NuGet.
Pour utiliser les commandes CLI NuGet dans la console du Gestionnaire de package, installez le package NuGet.CommandLine .
Install-Package NuGet.CommandLine
La commande précédente installe la dernière version de l’interface CLI NuGet. Pour installer une version spécifique, utilisez l’option -Version . Par exemple, pour installer la version 4.4.1, entrez :
Install-Package NuGet.CommandLine -Version 4.4.1
Après avoir installé le NuGet.CommandLine package, vous pouvez exécuter toutes les commandes CLI NuGet via la console du Gestionnaire de package.
Étendre la console du Gestionnaire de package
Certains packages installent de nouvelles commandes pour la console. Par exemple, MvcScaffolding crée des commandes telles que Scaffold, qui génèrent des contrôleurs et des vues pour ASP.NET MVC.
Configurer un profil PowerShell NuGet
Vous pouvez créer un profil PowerShell pour rendre vos commandes couramment utilisées dans tous les contextes PowerShell. Vous ne perdez donc pas vos paramètres PowerShell entre les sessions. NuGet prend en charge un profil spécifique à NuGet, généralement à %UserProfile%\Documents\WindowsPowerShell\NuGet_profile.ps1.
Pour trouver l’emplacement de votre profil utilisateur, entrez $profile dans la console :
$profile
C:\Users\<user>\Documents\WindowsPowerShell\NuGet_profile.ps1
Pour déterminer si un profil existe à cet emplacement, entrez test-path $profile. Si la commande retourne False, vous devez créer le profil avec le nom spécifié à cet emplacement. Pour plus d’informations, consultez Profils Windows PowerShell.