Пакет указан в разделе "Обновления" в диспетчере NuGet и не может быть удален
Это проблема, с которой я сталкиваюсь довольно долго, но поскольку мы закрываем этот проект на работе, я подумал, что, наконец, смогу его решить. Когда я проверяю обновления для наших пакетов NuGet, список всегда показывает это (+ любые фактические доступные обновления):
Когда я нажимаю обновить, появляется следующий экран:
Я не могу установить какие-либо флажки, и, как вы можете видеть, по умолчанию они сняты, что означает, что у меня не установлен этот пакет в нашем проекте. Неважно, нажимаю ли я "ОК" или "Отмена", всегда возвращается первый скриншот. Как вы можете видеть на скриншоте 3, пакет даже не указан в списке Установлено:
Ни в одном из файлов packages.config. Когда я пишу Uninstall-Package CommonServiceLocator, я получаю это:
PM> Uninstall-Package CommonServiceLocator
Uninstall-Package : Unable to find 'CommonServiceLocator' in 'ManagementSystem' and found multiple versions of 'CommonServiceLocator' installed. Please specify a version.
At line:1 char:18
+ Uninstall-Package <<<< CommonServiceLocator
+ CategoryInfo : NotSpecified: (:) [Uninstall-Package], InvalidOperationException
+ FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.UninstallPackageCommand
Я не могу указать версию, так как она не установлена. Я даже пытался вручную добавить пакет в мой файл packages.config, а затем удалить его через список Установленные. Затем я попытался установить и удалить его в диспетчере NuGet. Все тот же. Это когда-нибудь случалось с тобой? Как вы решили это (кроме воссоздания всего проекта)? Спасибо!
3 ответа
Выяснил это. Если вы используете функцию контроля версий, просто удалите файлы с жесткого диска и повторите проверку. Пакет исчезнет.
У меня была похожая (не та же) проблема с пакетом, который был обновлен, но все еще появлялся в списке доступных обновлений.
По крайней мере, в VS 2013 Community Edition этого было достаточно, чтобы открыть Your\Solution\Path\packages
в Windows Explorer и удалите предыдущие, уже обновленные каталоги, найденные там. Например, в какой-то момент у меня было:
packages\FluentAssertions.4.1.1
packages\FluentAssertions.4.9.0
packages\NSubstitute.1.8.2.0
packages\NSubstitute.1.10.0.0
а потом я удалил два старых. После этого запустил Manage NuGet Packages for Solution, и эти элементы перестали обновляться.
Я пришел к этой теме после поиска в Google, поэтому, возможно, этот ответ может быть полезен и для будущих посетителей. НТН
РЕДАКТИРОВАТЬ: это в основном та же проблема / решение, найденное здесь
У меня была такая же проблема в VS 2012. После того, как я обновил его до обновления 4 и попытался снова, он работал и работал без ошибок.