Как вы можете найти неиспользуемые пакеты NuGet в решении?
Как вы можете найти неиспользуемые пакеты NuGet в решении?
У меня есть ряд решений, в которых есть много установленных пакетов, а большое количество отмечены как имеющие обновления.
Однако я обеспокоен тем, что могут быть нарушения, поэтому сначала хочу очистить, удалив неиспользуемые пакеты.
Ответы
Ответ 1
ReSharper 2016.1 имеет функцию удаления неиспользуемого NuGet.
Он может запускаться на решении и на каждом проекте в решении, и он выполняет следующие действия:
- Проанализируйте свой код и соберите ссылки на сборки.
- Построить график использования NuGet на основе использования сборок.
- Пакеты без файлов содержимого, неиспользуемые и без использованных зависимостей считаются неиспользованными и предлагается удалить.
К сожалению, это не работает для проектов project.json
(RSRP-454515) и основных проектов ASP.NET(RSRP-459076)
Ответ 2
Вы можете использовать расширение Visual Studio ResolveUR - разрешить неиспользуемые ссылки
Разрешить неиспользуемые ссылки, в том числе ссылки на nuget в проектах Visual Studio 2012/2013, через пункт меню в узлах решения и проекта. Окно инструмента Explorer Explorer.
Это нелегкая задача, поэтому я предлагаю сделать резервную копию и/или совершить до того, как сделать это, если что-то пошло не так.
Ответ 3
Вы можете выполнить это, используя Resharper 2018.1.
Щелкните правой кнопкой мыши по проекту> Рефакторинг> Удалить неиспользуемые ссылки.
Если ваш проект мал, вы также можете> Анализировать используемые ссылки. , ,
Появится окно. Выберите все ссылки и удалите их все. Затем вернитесь назад и снова добавьте те, которые дают вам ошибку компилятора.
Ответ 4
Я не думаю, что есть стандартный способ выяснить это. Основная причина заключается в том, что эти пакеты могут делать разные вещи: от ссылки на сборку до внедрения исходного кода в ваш проект. Вы можете проверить Nuget.Extensions, хотя. Следующая ветка на codeplex рассказывает об отчете об аудите пакетов nuget.
http://nuget.codeplex.com/discussions/429694
(NuGet был перемещен из Codeplex в GitHub. Архив по вышеуказанной ссылке :) https://web.archive.org/web/20171212202557/http://nuget.codeplex.com:80/discussions/429694
Ответ 5
Это ручной труд, но он работает.
-
Используйте инструмент ReSharper или аналогичный инструмент анализа кода, чтобы идентифицировать любые неиспользуемые ссылки в ваших проектах и удалить nuget в соответствующих проектах.
-
Иногда удаленные nugets все еще задерживаются в списке Установленные пакеты и обновления в диалоговом окне "Управление пакетами NuGet". Закройте Visual Studio, затем удалите папку packages
, затем снова откройте решение и восстановите свои nugets.