Comment pouvez-vous trouver les paquets NuGet inutilisés dans une solution?
J'ai un certain nombre de solutions où il y a beaucoup de paquets installés, et un grand nombre sont marqués comme ayant des mises à jour.
Cependant, je crains qu'il y ait des changements radicaux. Je souhaite donc tout d'abord nettoyer en supprimant tous les packages inutilisés.
ReSharper 2016.1 a ne fonctionnalité permettant de supprimer NuGet inutilisé.
Il peut être exécuté sur une solution et sur chaque projet dans une solution et effectue les opérations suivantes:
Malheureusement, cela ne fonctionne pas pour project.json
projets ( RSRP-454515 ) et projets centraux ASP.NET ( RSRP-459076 )
Vous pouvez utiliser l’extension Visual Studio ResolveUR - Résoudre les références inutilisées
Résolvez les références inutilisées, y compris les références de nugets, dans les projets Visual Studio 2012/2013 via un élément de menu au niveau des nœuds de solution et de projet dans la fenêtre de l'outil Explorateur de solutions.
Ce n'est pas une tâche facile, alors je suggère de faire une sauvegarde et/ou une validation avant, dans le seul but de revenir en arrière en cas de problème.
Vous pouvez accomplir cela en utilisant Resharper 2018.1.
Cliquez avec le bouton droit sur le projet> Refactor> Supprimer les références non utilisées.
Si votre projet est petit, vous pouvez également> Analyser les références utilisées. . .
Une fenêtre va s'ouvrir. Sélectionnez toutes les références et supprimez-les toutes. Revenez ensuite en ajoutant ceux qui vous donnent une erreur de compilation.
C'est du travail manuel, mais ça marche.
Utilisez ReSharper ou un outil d’analyse de code similaire pour identifier les références non utilisées dans vos projets et désinstaller le nuget dans les projets correspondants.
Parfois, des nugets désinstallés persistent encore dans les listes packages installés et mises à jour de la boîte de dialogue Gérer les packages NuGet. Fermez Visual Studio, supprimez le dossier packages
, puis rouvrez la solution et restaurez vos nugets.
Je ne pense pas qu'il existe un moyen par défaut de le savoir. La raison principale est la variété des tâches que ces packages peuvent effectuer, du référencement d’un assemblage à l’injection de code source dans votre projet. Vous voudrez peut-être vérifier le Nuget.Extensions bien. Le fil suivant sur codeplex parle d'un rapport d'audit de paquets de nuget.
http://nuget.codeplex.com/discussions/429694
(NuGet a été déplacé de Codeplex vers GitHub. Archive du lien ci-dessus :) https://web.archive.org/web/20171212202557/http://nuget.codeplex.com:80/discussions/429694