Как удалить пакеты NuGet, на которые не ссылается ни один проект в моем решении?
Как-то во время обновления до VS2012 и .NET 4.5 мне удалось запутаться. Есть пакеты, которые появляются в диспетчере пакетов (и папке пакетов), которые я не могу удалить (я считаю, что они являются устаревшими ASP.NET пакеты NuGet, которые были заменены новыми именами пакетов с новой версией. У каждого из них есть только управление button -- но нет кнопки удаления. И когда вы посмотрите, где они используются, вы увидите, что на них не ссылается ни один из проекты решения? Они не отображение удалить?
9 ответов
вы можете использовать консоль диспетчера пакетов с помощью команды: Uninstall-Package PackageId
чтобы удалить его или просто удалить папку пакета из папки "пакеты" в папке решения.
Более подробную информацию о консоли диспетчера пакетов вы можете найти здесь: http://docs.nuget.org/docs/reference/package-manager-console-powershell-reference
Я нашел обходной путь для этого.
- включить восстановление пакетов и автоматическую проверку (параметры / менеджер пакетов / общие)
- удалить все содержимое в папке packages (в корзину если вы нервничаете!)
- Управление Пакетами Nuget Для Решения
- Нажмите кнопку "Восстановить".
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, который применяется к несколько проектов в решениях далее идем:
инструменты - > менеджер пакетов Nuget - > Управление пакетами Nuget для решения
в левом столбце, где находится "установленные пакеты", выберите "все", чтобы вы см. список установленных пакетов и кнопку "Управление" на них.
выберите кнопку "Управление", и вы получите всплывающее окно, снимите флажок флажок напротив имени проекта и Ok it
остальную работу менеджер пакетов сделает это за вас.
альтернативой является установка неиспользуемого пакета, который вы хотите удалить в любом проекте Вашего решения, после этого удалите его, и Nuget также удалит его.
здесь необходим правильный деинсталлятор.
другой способ, и очень просто для меня это:
перейдите к вашему Soution, а затем щелкните правой кнопкой мыши на этом.
выберите опцию "управляемые пакеты NUgets для решения". Что открыть всплывающее окно, в котором нажмите на кнопку" Настройки". Это откроет другое всплывающее окно, а затем поиск: "менеджер пакетов".
внутри опции "менеджер пакетов" у вас есть еще два варианта( I. General II. Источники пакетов) в каждом опции снимите все флажки.
эти шаги деактивируют NuGet из вашего проекта.
Я очень надеюсь помочь вам.
пакет Nudget может ссылаться на другой пакет nudget. Поэтому, пожалуйста, будьте очень осторожны с зависимостями между пакетами. Я просто удалил пакет Google map, и он впоследствии удалил базовые пакеты, такие как newtonsoft, entity framework и т. д.
таким образом, ручное удаление определенного пакета из папки packages было бы безопаснее.
Если вы удалили пакет с помощью Удалить-Пакет utility и удалил нужный пакет из каталога пакетов в разделе решение (и вы все еще получаете ошибку), просто откройте *.файл csproj файл в редакторе кода и удалить тег вручную. Например, я хотел избавиться от пакета NuGet Xamarin.Формы.Псевдоним и я удалил эти строки из *.файл csproj.
и наконец, не забудьте перезагрузить ваш проект после запроса в Visual Studio (после изменения файла проекта). Я попробовал его на Visual Studio 2015, но он должен работать на Visual Studio 2010 и далее.
надеюсь, что это помогает.