Jak znaleźć nieużywane pakiety NuGet w rozwiązaniu?
Mam wiele rozwiązań, w których jest dużo zainstalowanych pakietów, a duża liczba jest oznaczana jako posiadająca aktualizacje.
Jednak obawiam się, że mogą nastąpić poważne zmiany, więc najpierw chcę uporządkować, usuwając nieużywane pakiety.
visual-studio
nuget
SteveC
źródło
źródło
Odpowiedzi:
ReSharper 2016.1 ma funkcję usuwania nieużywanego NuGet.
Można go uruchomić na rozwiązaniu i na każdym projekcie w rozwiązaniu i wykonuje następujące czynności:
Niestety, to nie działa w przypadku
project.json
projektów ( RSRP-454515 ) i podstawowych projektów ASP.NET ( RSRP-459076 )źródło
Możesz użyć rozszerzenia Visual Studio ResolveUR - Resolve Unused References
Nie jest to łatwe zadanie, więc sugeruję wykonanie kopii zapasowej i / lub zatwierdzenie wcześniej, aby cofnąć zmiany, jeśli coś pójdzie nie tak.
źródło
The tool is not tested to work with DotNet Web projects(Asp.Net, MVC), Windows CE, Silverlight project types. Use it at your own risk.
Możesz to osiągnąć za pomocą Resharper 2019.1.1.
Kliknij prawym przyciskiem myszy projekt> Refaktoryzuj> Usuń nieużywane odniesienia.
Jeśli Twój projekt jest mały, możesz również wykonać projekt> Optymalizuj używane odniesienia. . .
Pojawi się okno. Wybierz wszystkie odniesienia i usuń je wszystkie. Następnie wróć i ponownie dodaj te, które powodują błąd kompilatora.
źródło
To jest praca fizyczna, ale działa.
Użyj narzędzia ReSharper lub podobnego narzędzia do analizy kodu, aby zidentyfikować wszelkie nieużywane odwołania w projektach i odinstaluj nuget w odpowiednich projektach.
Czasami odinstalowane pakiety NuGet nadal pozostają na listach Zainstalowane pakiety i aktualizacje w oknie dialogowym Zarządzanie pakietami NuGet. Zamknij program Visual Studio, a następnie usuń
packages
folder, a następnie ponownie otwórz rozwiązanie i przywróć nugets.źródło
Nie sądzę, że istnieje domyślny sposób, aby się tego dowiedzieć. Głównym powodem jest różnorodność rzeczy, które te pakiety mogą robić, od odwoływania się do zestawu do wstrzykiwania kodu źródłowego do projektu. Możesz jednak sprawdzić Nuget.Extensions . Poniższy wątek w Codeplex mówi o raporcie audytu pakietów NuGet.
http://nuget.codeplex.com/discussions/429694(NuGet został przeniesiony z Codeplex do GitHub. Archiwum powyższego linku :) https://web.archive.org/web/20171212202557/http://nuget.codeplex.com:80/discussions/429694
źródło