Подтвердить что ты не робот

Как вы можете найти неиспользуемые пакеты NuGet в решении?

Как вы можете найти неиспользуемые пакеты NuGet в решении?

У меня есть ряд решений, в которых есть много установленных пакетов, а большое количество отмечены как имеющие обновления.

Однако я обеспокоен тем, что могут быть нарушения, поэтому сначала хочу очистить, удалив неиспользуемые пакеты.

4b9b3361

Ответ 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.