Как-то во время обновления до VS2012 и .NET 4.5 мне удалось запутать NuGet. Есть пакеты, которые отображаются в диспетчере пакетов (и папке пакетов), которые я не могу удалить (я считаю, что это устаревшие пакеты ASP.NET NuGet, которые были заменены новыми именами пакетов с новой версией. У каждого из них есть только Управление кнопкой - но не кнопка удаления. И когда вы посмотрите, где они используются, вы можете видеть, что на них не ссылаются ни один из проектов решений: они отображаются НЕ Удалить?
Как удалить пакеты NuGet, на которые не ссылается какой-либо проект в моем решении?
Ответ 1
Вы можете использовать консоль диспетчера пакетов с командой: Uninstall-Package PackageId
, чтобы удалить его, или просто удалить папку пакета из папки "packages" в папке с решением.
Более подробную информацию о консоли диспетчера пакетов вы можете найти здесь: http://docs.nuget.org/docs/reference/package-manager-console-powershell-reference
Ответ 2
Я нашел обходное решение для этого.
- Включить восстановление и автоматическую проверку пакетов (Options/Package Manager/General)
- Удалить все содержимое папки пакетов (в Корзину, если вы нервничаете!)
- Управление пакетами Nuget для решения
- Нажмите кнопку восстановления.
NuGet будет восстанавливать только пакеты, используемые в вашем решении. В итоге вы получаете хороший, оптимизированный набор пакетов.
Ответ 3
Сначала откройте консоль диспетчера пакетов. Затем выберите свой проект из выпадающего списка. И запустите следующие команды для удаления пакетов 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.
Ответ 4
Если вы хотите удалить/удалить пакет Nuget, который применяется к нескольким проектам в ваших решениях, перейдите по ссылке:
-
Инструменты- > Диспетчер пакетов Nuget → Управление пакетами Nuget для решения
-
В левом столбце, где "Установленные пакеты", выберите "Все", чтобы вы см. список установленных пакетов и кнопку "Управление" через них.
-
Выберите кнопку "Управление", и вы получите всплывающее окно, снимите флажок напротив имени проекта и нажмите "ОК"
Остальная часть работы Менеджер пакетов сделает это за вас.
Ответ 5
Альтернативой является установка неиспользуемого пакета, который вы хотите удалить, в любом проекте вашего решения, после чего удалите его, и Nuget удалит его тоже.
Надлежащий деинсталлятор необходим здесь.
Ответ 6
Один пакет NuGet может ссылаться на другой пакет NuGet. Поэтому, пожалуйста, будьте очень осторожны с зависимостями между пакетами. Я просто удалил пакет карты Google, а затем удалил базовые пакеты, такие как Newtonsoft, Entity Framework и т.д.
Таким образом, удаление определенного пакета из папки с пакетами вручную будет безопаснее.
Ответ 7
Если вы удалили пакет с помощью утилиты Uninstall-Package и удалили нужный пакет из каталога пакетов в разделе Solution (и вы все еще получаете ошибку), просто откройте файл *.csproj в редакторе кода и удалите тег вручную. Как, например, я хотел избавиться от пакета Nuget Xamarin.Forms.Alias и удалил эти строки из файла *.csproj.
И, наконец, не забудьте перезагрузить ваш проект после появления запроса в Visual Studio (после изменения файла проекта). Я попробовал это на Visual Studio 2015, но он должен работать и на Visual Studio 2010 и далее.
Надеюсь это поможет.
Ответ 8
Другой способ, и очень просто для меня:
-
Перейдите к своему Soution, а затем щелкните по нему правой кнопкой мыши.
-
Выберите параметр "Управляемые пакеты NUgets для решения". Чтобы открыть всплывающее окно, нажмите кнопку "Настройки". Это откроет другое всплывающее окно, а затем выполнит поиск: "Менеджер пакетов".
-
Внутри опции "Менеджер пакетов" у вас есть еще две опции (I. General II. Packages Sources). В каждой опции снимите флажок.
Эти шаги деактивируют NuGet из вашего проекта.
Надеюсь, вам действительно помогут.
Ответ 9
Если вы хотите использовать Visual Studio, см. ниже ссылку