Как удалить пакеты NuGet, на которые не ссылается ни один проект в моем решении?

Как-то во время обновления до VS2012 и .NET 4.5 мне удалось запутаться. Есть пакеты, которые появляются в диспетчере пакетов (и папке пакетов), которые я не могу удалить (я считаю, что они являются устаревшими ASP.NET пакеты NuGet, которые были заменены новыми именами пакетов с новой версией. У каждого из них есть только управление button -- но нет кнопки удаления. И когда вы посмотрите, где они используются, вы увидите, что на них не ссылается ни один из проекты решения? Они не отображение удалить?

9 ответов


вы можете использовать консоль диспетчера пакетов с помощью команды: Uninstall-Package PackageId чтобы удалить его или просто удалить папку пакета из папки "пакеты" в папке решения. Более подробную информацию о консоли диспетчера пакетов вы можете найти здесь: http://docs.nuget.org/docs/reference/package-manager-console-powershell-reference


Я нашел обходной путь для этого.

  1. включить восстановление пакетов и автоматическую проверку (параметры / менеджер пакетов / общие)
  2. удалить все содержимое в папке packages (в корзину если вы нервничаете!)
  3. Управление Пакетами Nuget Для Решения
  4. Нажмите кнопку "Восстановить".

NuGet восстановит только пакеты, используемые в решении. Вы заканчиваете с славным, модернизированным набором пакеты.


Сначала откройте консоль диспетчера пакетов. Выберите проект из выпадающего списка. И выполните следующие команды для удаления пакетов NuGet.

Get-Package

для получения всего пакета, который вы установили.

а то

Uninstall-Package PagedList.Mvc

--- для удаления пакета с именем PagedList.В MVC

PM> Uninstall-Package PagedList.Mvc
Successfully removed 'PagedList.Mvc 4.5.0.0' from MCEMRBPP.PIR.

Если вы хотите удалить / удалить пакет Nuget, который применяется к несколько проектов в решениях далее идем:

  1. инструменты - > менеджер пакетов Nuget - > Управление пакетами Nuget для решения

  2. в левом столбце, где находится "установленные пакеты", выберите "все", чтобы вы см. список установленных пакетов и кнопку "Управление" на них.

  3. выберите кнопку "Управление", и вы получите всплывающее окно, снимите флажок флажок напротив имени проекта и Ok it

остальную работу менеджер пакетов сделает это за вас.


альтернативой является установка неиспользуемого пакета, который вы хотите удалить в любом проекте Вашего решения, после этого удалите его, и Nuget также удалит его.

здесь необходим правильный деинсталлятор.


другой способ, и очень просто для меня это:

  1. перейдите к вашему Soution, а затем щелкните правой кнопкой мыши на этом.

  2. выберите опцию "управляемые пакеты NUgets для решения". Что открыть всплывающее окно, в котором нажмите на кнопку" Настройки". Это откроет другое всплывающее окно, а затем поиск: "менеджер пакетов".

  3. внутри опции "менеджер пакетов" у вас есть еще два варианта( I. General II. Источники пакетов) в каждом опции снимите все флажки.

эти шаги деактивируют NuGet из вашего проекта.

Я очень надеюсь помочь вам.


пакет Nudget может ссылаться на другой пакет nudget. Поэтому, пожалуйста, будьте очень осторожны с зависимостями между пакетами. Я просто удалил пакет Google map, и он впоследствии удалил базовые пакеты, такие как newtonsoft, entity framework и т. д.

таким образом, ручное удаление определенного пакета из папки packages было бы безопаснее.


Если вы удалили пакет с помощью Удалить-Пакет utility и удалил нужный пакет из каталога пакетов в разделе решение (и вы все еще получаете ошибку), просто откройте *.файл csproj файл в редакторе кода и удалить тег вручную. Например, я хотел избавиться от пакета NuGet Xamarin.Формы.Псевдоним и я удалил эти строки из *.файл csproj.

Removing nuget package from msbuild script

и наконец, не забудьте перезагрузить ваш проект после запроса в Visual Studio (после изменения файла проекта). Я попробовал его на Visual Studio 2015, но он должен работать на Visual Studio 2010 и далее.

надеюсь, что это помогает.


Если вы хотите использовать опцию Visual Studio, см. ниже ссылку

http://spvenky.wordpress.com/2014/08/10/how-to-remove-nuget-packages-from-existing-visual-studio-solution/