web-dev-qa-db-fra.com

Comment supprimer les packages NuGet qui ne sont référencés par aucun projet dans ma solution?

En quelque sorte, lors de la mise à niveau vers VS2012 et .NET 4.5, j'ai réussi à confondre NuGet. Il y a des packages qui apparaissent dans le gestionnaire de packages (et le dossier packages) que je ne peux pas supprimer (je crois qu'il s'agit de packages hérités ASP.NET NuGet hérités qui ont été remplacés par de nouveaux noms de package avec la nouvelle version. Ils ont chacun un Gérerbouton - mais pas de bouton de désinstallation. Et lorsque vous regardez où ils sont utilisés, vous pouvez voir qu’ils ne sont référencés par aucun des projets de la solution. Ils sont PASaffichant un programme de désinstallation?).

129
Howard Pinsley

Vous pouvez utiliser Package Manager Console avec la commande: Uninstall-Package PackageId pour le supprimer, ou simplement supprimer le dossier du package du dossier 'packages' sous le dossier de la solution. Vous trouverez plus d’informations sur la console du gestionnaire de packages à l’adresse suivante: http://docs.nuget.org/docs/reference/package-manager-console-powershell-reference

102
Pavel Bakshy

J'ai trouvé une solution de contournement pour cela.

  1. Activer la restauration du package et la vérification automatique (Options/Gestionnaire de packages/Général)
  2. Supprimer tout le contenu du dossier des paquets (dans la corbeille si vous êtes nerveux!)
  3. Gérer les paquets Nuget pour la solution
  4. Cliquez sur le bouton de restauration.

NuGet ne restaurera que uniquement les packages utilisés dans votre solution. Vous vous retrouvez avec un ensemble de paquets sympa et simplifié.

150
James L

Commencez par ouvrir la console du gestionnaire de packages. Sélectionnez ensuite votre projet dans la liste déroulante. Et exécutez les commandes suivantes pour désinstaller les paquets Nuget.

Get-Package

pour obtenir tout le paquet que vous avez installé.

et alors

Uninstall-Package PagedList.Mvc

--- pour désinstaller un paquet nommé PagedList.MVC

Message

PM> Uninstall-Package PagedList.Mvc
Successfully removed 'PagedList.Mvc 4.5.0.0' from MCEMRBPP.PIR.
15
Abdus Salam Azad

Si vous voulez supprimer/désinstaller le paquet Nuget qui est appliqué à plusieurs projets dans vos solutions , allez à:

  1. Outils-> Gestionnaire de packages Nuget -> Gérer les packages Nuget pour la solution

  2. Dans la colonne de gauche où se trouvent 'Packages installés', sélectionnez 'Tous', ainsi, vous verrez une liste des packages installés et le bouton Gérer qui les traverse.

  3. Sélectionnez le bouton Gérer et vous obtiendrez une fenêtre contextuelle, désélectionnez la case à cocher en regard du nom du projet, puis Ok

Le reste du travail, Package Manager le fera pour vous.

7
d689p

Si vous avez supprimé le package à l'aide de l'utilitaire Uninstall-Package et supprimé le package souhaité du répertoire du package dans la solution (et que l'erreur persiste), ouvrez simplement le fichier * .csproj dans l'éditeur de code et supprimez la balise manuellement. Comme par exemple, je voulais me débarrasser du paquet Nuget Xamarin.Forms.Alias ​​ et j'ai supprimé ces lignes du fichier * .csproj.

 Removing nuget package from msbuild script

Et enfin, n'oubliez pas de recharger votre projet une fois invité dans Visual Studio (après modification du fichier de projet). Je l'ai essayé sur Visual Studio 2015, mais cela devrait fonctionner également sur Visual Studio 2010.

J'espère que cela t'aides.

2
A.B.

Une autre solution consiste à installer le package inutilisé que vous souhaitez supprimer dans n’importe quel projet de votre solution. Ensuite, désinstallez-le et Nuget le supprimera également.

Un programme de désinstallation approprié est nécessaire ici.

1
D.Rosado

Un package NuGet peut référencer un autre package NuGet. Alors, soyez très prudent avec les dépendances entre paquets. Je viens de désinstaller un package de carte Google, qui a ensuite désinstallé des packages sous-jacents tels que Newtonsoft, Entity Framework, etc.

Donc, supprimer manuellement un paquet particulier du dossier des paquets serait plus sûr.

1
Aki

Autrement, et le plus simplement pour moi, c'est:

  1. Allez dans votre Soution puis faites un clic droit dessus.

  2. Sélectionnez l'option "Paquets NUgets gérés pour la solution". Cela ouvre une fenêtre Popup, dans lequel clique sur le bouton "Paramètres". Cela ouvrira une autre fenêtre popup et ensuite recherchera: "Package Manager". 

  3. Dans l'option "Gestionnaire de paquets", vous avez encore deux options (I. Général II. Sources de paquets) Dans chaque option, décochez toutes les cases.

Cette étape permet de désactiver NuGet de votre projet.

J'espère vraiment vous aider.

0
amedriveroperez

Solution 1

Utilisez le pipeline powershell pour obtenir des packages et les supprimer en une seule instruction comme celle-ci.

Get-Package | Uninstall-Package

Solution 2

si vous souhaitez désinstaller les packages sélectionnés, suivez ces étapes

  1. Utilisez GetPackages pour obtenir la liste des paquets 
  2. Télécharger le logiciel Nimble text
  3. Copiez la sortie de GetPackages dans NimbleText (pour chaque ligne de la fenêtre de liste)
  4. Définissez le séparateur de colonnes sur ( si nécessaire
  5. Tapez Uninstall-Package $0 (Substitute using pattern window)
  6. Copiez les résultats et collez-les dans Package Manage Console

Ce soit tous les gens.

0
irfandar

Dans la fenêtre de la console Gestionnaire de packages, vous pouvez souvent utiliser la commande que vous avez utilisée pour installer un package afin de désinstaller ce package. Il suffit de remplacer la commandeINSTALLparUNINSTALL.

Par exemple, pour installer PowerTCPTelnet, la commande est la suivante:

Install-Package PowerTCPTelnet -Version 4.4.9

Pour désinstaller le même, la commande est la suivante:

Uninstall-Package PowerTCPTelnet -Version 4.4.9

0
Jazimov