Installer et gérer des packages dans Visual Studio à l’aide du gestionnaire de package NuGet

L’interface utilisateur du gestionnaire de package NuGet dans Visual Studio facilite l’installation, la désinstallation et la mise à jour des packages NuGet dans les projets et solutions. Pour en faire l’expérience dans Visual Studio pour Mac, consultez Inclusion d’un package NuGet dans votre projet. L’interface utilisateur du gestionnaire de package n’est pas incluse dans Visual Studio Code.

Notes

Si vous manquez le NuGet Gestionnaire de package dans Visual Studio 2015, vérifiez les extensions et mises à jour des outils>... et recherchez l’extension NuGet Gestionnaire de package. Si vous ne pouvez pas utiliser le programme d’installation des extensions dans Visual Studio, téléchargez l'extension directement à partir de https://dist.nuget.org/index.html.

À compter de Visual Studio 2017, NuGet et le gestionnaire de package NuGet sont automatiquement installés avec toutes les charges de travail liées à .NET. Installez-le individuellement en sélectionnant les outils > de code des composants > individuels NuGet option du gestionnaire de package dans le programme d’installation Visual Studio.

Rechercher et installer un package

  1. Dans Explorateur de solutions, cliquez avec le bouton droit sur Références ou un projet, puis sélectionnez Gérer les packages NuGet....

    Manage NuGet Packages menu option

  2. L'onglet Parcourir affiche les packages par popularité à partir de la source actuellement sélectionnée (consultez Sources de packages). Recherchez un package spécifique à l’aide de la zone de recherche en haut à gauche. Sélectionnez un package dans la liste pour afficher ses informations, ce qui active également le bouton Installer avec une liste déroulante de sélection de version.

    Manage NuGet Packages Dialog Browse tab

  3. Sélectionnez la version souhaitée dans la liste déroulante, puis sélectionnez Installer. Visual Studio installe le package et ses dépendances dans le projet. Vous pouvez être invité à accepter les termes du contrat de licence. Une fois l’installation terminée, les packages ajoutés apparaissent sous l’onglet Installé. Les packages sont également répertoriés dans le nœud Références de Explorateur de solutions, ce qui indique que vous pouvez les faire référence dans le projet avec using des instructions.

    References in Solution Explorer

Conseil

Pour inclure des versions préliminaires dans la recherche et rendre les versions préliminaires disponibles dans la liste déroulante des versions, sélectionnez l’option Inclure la version préliminaire.

Notes

NuGet a deux formats dans lesquels un projet peut utiliser des packages : PackageReference et packages.config. La valeur par défaut peut être définie dans la fenêtre options de Visual Studio.

Désinstaller un package

  1. Dans l’Explorateur de solutions, cliquez avec le bouton droit sur Références ou sur le projet souhaité, puis sélectionnez Gérer les packages NuGet....

  2. Sélectionnez l’onglet Installé.

  3. Sélectionnez le package à désinstaller (à l’aide de la recherche pour filtrer la liste si nécessaire) et sélectionnez Désinstaller.

    Uninstalling a package

  4. Notez que les contrôles Inclure la version préliminaire et Code source du package n’ont aucun effet lors de la désinstallation des packages.

Mettre à jour un package

  1. Dans Explorateur de solutions, cliquez avec le bouton droit sur Références ou le projet souhaité, puis sélectionnez Gérer les packages NuGet.... (Dans les projets de site web, cliquez avec le bouton droit sur le dossier Bin.)

  2. Sélectionnez l'onglet Mises à jour pour afficher les packages pour lesquels des mises à jour sont disponibles à partir des sources de package sélectionnées. Sélectionnez Inclure la version préliminaire pour inclure les packages en version préliminaire dans la liste des mises à jour.

  3. Sélectionnez le package à mettre à jour, la version souhaitée dans la liste déroulante à droite, puis Mettre à jour.

    Updating a package

  4. Pour certains packages, le bouton Mise à jour est désactivé et un message s’affiche, indiquant qu’il est « implicitement référencé par un kit de développement logiciel (SDK) » (ou « AutoReferenced »). Ce message indique que le package fait partie d’une infrastructure ou d’un kit de développement logiciel (SDK) plus volumineux et ne doit pas être mis à jour de manière indépendante. (Ces packages sont marqués en interne avec <IsImplicitlyDefined>True</IsImplicitlyDefined>.) Par exemple, fait partie du Kit de développement logiciel (SDK) Microsoft.NETCore.App .NET Core, et la version du package n’est pas identique à la version de l’infrastructure d’exécution utilisée par l’application. Vous devez mettre à jour votre installation de .NET Core pour bénéficier de nouvelles versions d’ASP.NET Core et de Runtime .NET Core. Pour plus d’informations sur les métapaquets et le contrôle de version de .NET Core, consultez ce document. Cela s’applique aux packages couramment utilisés suivants :

    • Microsoft.AspNetCore.All
    • Microsoft.AspNetCore.App
    • Microsoft.NETCore.App
    • NETStandard.Library

    Example package marked as Implicitly references or AutoReferenced

  5. Pour mettre à jour plusieurs packages vers leurs versions les plus récentes, sélectionnez-les dans la liste et sélectionnez le bouton Mettre à jour au-dessus de la liste.

  6. Vous pouvez également mettre à jour un package individuel sous l’onglet Installé . Dans ce cas, les détails du package incluent un sélecteur de version (soumis à l’option Inclure la préversion) et un bouton Mettre à jour .

Gérer des packages pour la solution

La gestion des packages pour une solution est un moyen pratique de travailler simultanément sur plusieurs projets.

  1. Sélectionnez les outils > NuGet Gestionnaire de package Gérer les packages NuGet > pour la solution... commande de menu, ou cliquez avec le bouton droit sur la solution, puis sélectionnez Gérer les packages NuGet...:

    Manage NuGet packages for the solution

  2. Lorsque vous gérez des packages pour la solution, l’interface utilisateur vous permet de sélectionner les projets affectés par les opérations :

    Project selector when managing packages for the solution

Onglet Consolider

Les développeurs considèrent généralement qu’il est déconseillé d’utiliser différentes versions du même package NuGet dans différents projets de la même solution. Lorsque vous choisissez de gérer des packages pour une solution, l’interface utilisateur du gestionnaire de package fournit un onglet Consolider sur lequel vous pouvez facilement voir où des packages avec des numéros de version distincts sont utilisés par différents projets dans la solution :

Package Manager UI Consolidate tab

Dans cet exemple, le projet ClassLibrary1 utilise EntityFramework 6.2.0, tandis que ConsoleApp1 utilise EntityFramework 6.1.0. Pour consolider les versions de package, procédez comme suit :

  • Sélectionnez les projets à mettre à jour dans la liste des projets.
  • Sélectionnez la version à utiliser dans tous ces projets dans la commande Version, par exemple, EntityFramework 6.2.0.
  • Sélectionnez le bouton Installer.

Le gestionnaire de package installe la version de package sélectionnée dans tous les projets sélectionnés, après quoi le package ne s'affiche plus sous l’onglet Consolider.

Sources de packages

Pour modifier la source à partir de laquelle Visual Studio obtient les packages, sélectionnez-en un dans le sélecteur de source :

Package source selector in the package manager UI

Pour gérer les sources de packages :

  1. Sélectionnez l’icône Paramètres dans l’interface utilisateur Gestionnaire de package décrite ci-dessous ou utilisez la commande Options des outils > et faites défiler jusqu’à NuGet Gestionnaire de package :

    Package manager UI settings icon

  2. Sélectionnez le nœud Sources du package :

    Package Sources options

  3. Pour ajouter une source, sélectionnez +, modifiez le nom, entrez l’URL ou le chemin dans le contrôle de code source , puis sélectionnez Mettre à jour. La source apparaît maintenant dans la liste déroulante du sélecteur.

  4. Pour modifier une source de package, sélectionnez-la, apportez des modifications aux zones Nom et Source, puis sélectionnez Mettre à jour.

  5. Pour désactiver une source de package, décochez la case située à gauche de son nom dans la liste.

  6. Pour supprimer une source de package, sélectionnez-la, puis sélectionnez le bouton X.

  7. L’utilisation des flèches haut et bas ne change pas l’ordre de priorité des sources de packages. Visual Studio ignore l’ordre des sources de packages et utilise le package provenant de la première source à répondre aux requêtes. Pour plus d'informations, consultez Restauration du package.

Conseil

Si une source de package réapparaît après avoir été supprimée, c’est qu’elle est peut-être répertoriée dans des fichiers NuGet.Config au niveau de l’ordinateur ou de l’utilisateur. Consultez Configurations NuGet courantes pour localiser ces fichiers, puis supprimez la source en modifiant les fichiers, manuellement ou à l’aide de la commande Sources nuget.

Contrôle des options du gestionnaire de package

Lorsqu’un package est sélectionné, l’interface utilisateur du gestionnaire de package affiche un contrôle Options de petite taille extensible sous le sélecteur de version (réduit et développé sur l’illustration). Notez que, pour certains types de projets, seule l’option Afficher la fenêtre d’aperçu est disponible.

Package manager options

Les sections ci-dessous expliquent ces options.

Afficher la fenêtre d'aperçu

Lorsque cette option est sélectionnée, une fenêtre modale affiche les dépendances d’un package choisi avant de l’installer :

Example Preview Dialog

Installer et mettre à jour les options

(Pas disponible pour tous les types de projets.)

Comportement de dépendance configure la façon dont NuGet choisit les versions des packages dépendants à installer :

  • Ignorer les dépendances ignore l’installation de toutes les dépendances, ce qui stoppe généralement l’installation du package.
  • Le plus bas [par défaut] installe la dépendance avec le numéro de version minimal qui répond aux exigences du package principal choisi.
  • Correctif le plus élevé installe la version avec les mêmes numéros de version majeur et mineur, mais le numéro de correctif le plus élevé. Par exemple, si la version 1.2.2 est spécifiée, la version la plus élevée commençant par 1.2 est installée.
  • Mineur le plus élevé installe la version avec le même numéro de version majeur, mais les numéros mineur et de correctif les plus élevés. Si la version 1.2.2 est spécifiée, la version la plus élevée commençant par 1 est installée.
  • Le plus élevé installe la version disponible la plus élevée du package.

Action de conflit de fichiers spécifie comment NuGet doit gérer les packages qui existent déjà dans le projet ou l’ordinateur local :

  • L' invite demande à NuGet de demander s’il faut conserver ou remplacer les packages existants.
  • Ignorer tout indique à NuGet de ne pas remplacer les packages existants.
  • Remplacer tout indique à NuGet de remplacer les packages existants.

Désinstaller les options

(Pas disponible pour tous les types de projets.)

Supprimer les dépendances : lorsque cette option est sélectionnée, les packages dépendants sont supprimés s’ils ne sont pas référencés ailleurs dans le projet.

Forcer la désinstallation même s’il y a des dépendances sur celle-ci : lorsque cette option est sélectionnée, un package est désinstallé même s’il est toujours référencé dans le projet. Cette option est généralement utilisée en liaison avec Supprimer les dépendances pour supprimer un package et les dépendances qu’il a installées. Toutefois, l’utilisation de cette option peut entraîner des références rompues dans le projet. Dans ce cas, vous devrez peut-être réinstaller ces autres packages.