Проблемы с удалением пакетов NuGet

Я пытаюсь удалить некоторые пакеты, установленные NuGet. Согласно описанному Доку здесь, Я должен увидеть удалить кнопка (первый снимок экрана ниже), когда я выбираю установленный пакет. Однако я вижу только управление (второй скриншот ниже). Кто-нибудь может сказать мне, как удалить пакеты?

NuGet Doc Screenshot

My Screenshot

6 ответов


Если вы прокрутите вниз до Управление Установленными Пакетами раздел страницы документации NuGet, которую вы связали с вами, увидит кнопку "Управление" и объяснение.

на NuGet 1.4 была введена новая функция, позволяющая выбрать решение в обозревателе решений и добавить/удалить пакеты из нескольких проектов за один шаг. Ранее вам нужно было выбрать каждый проект в обозревателе решений и добавить / удалить пакет из каждого проекта разом.

Если вы нажмете кнопку "Управление", появится диалоговое окно "выбор проектов", в котором вы можете снять флажок с проектов, из которых вы хотите удалить пакет NuGet.

enter image description here

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


наконец, я обнаружил, что мне пришлось вручную редактировать.sln файл решения и удалить эти строки:

GlobalSection(ExtensibilityGlobals) = postSolution
        EnterpriseLibraryConfigurationToolBinariesPath = packages\Unity.2.1.505.0\lib\NET35;packages\Unity.Interception.2.1.505.0\lib\NET35;packages\EnterpriseLibrary.Common.5.0.505.0\lib\NET35;packages\EnterpriseLibrary.Data.5.0.505.0\lib\NET35
EndGlobalSection

после удаления вышеуказанных строк в файле решения эти пакеты исчезли на странице "установленный пакет" окна NuGet Packages. Остался только один пакет, и теперь я вижу кнопку "Удалить".

enter image description here

EDIT: Мне также пришлось удалить папку packages в моем каталоге решений.


иногда существуют зависимости, которые запрещают удаление пакета, но вам все равно нужно это сделать (т. е. если вы непреднамеренно устанавливаете две разные версии пакета с зависимостями).

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

прежде чем перейти к консоли, откройте окно Управление пакетами NuGet и запишите Id и Версия вашего пакета, которая появляется на правой панели при нажатии на пакет.

затем вы можете закрыть окно и открыть консоль (консоль диспетчера пакетов), и выполните следующую команду:

uninstall-package -Id YourPackageId -Force -Version YourPackageVersion

Примечание -Force


недавно у меня были похожие проблемы. Мой проект работал нормально, но я больше не мог добавлять или удалять пакеты через менеджер пакетов NuGet, потому что EnterpriseLibrary 5.0.505 был показан как отсутствующий в источнике. Но попытка либо восстановить, либо удалить его не удалось с ошибкой "не удалось найти версию" 5.0.505. пакета "EnterpriseLibrary"".

Я проследил это до следующей ссылки в пакетах.конфигурационный файл:

<package id="EnterpriseLibrary" version="5.0.505" targetFramework="net4" />

сравнение с другими решения, к которым я добавил пакет совсем недавно, я изменил его на следующее, которое исправило проблему:

<package id="EnterpriseLibrary.Common" version="5.0.505.0" targetFramework="net4" />

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


У меня была проблема удалить код сначала lib CTP5, который имел зависимости, удаление не вернуло никакого сообщения и ничего не удалило. Удаление ссылок из пакетов.config, который нужно удалить. После этого он больше не будет отображаться в nuget, и вы можете переустановить или продолжить без него.


после использования диалогового окна VS IDE Управление пакетами NuGet или консоли диспетчера пакетов может потребоваться вручную удалить файлы решений или другие файлы в файловой системе, которые являются частью пакета не в папке packages.

я оценивал Microsoft.сеть САШ.FriendlyUrls пакет, который добавил главную страницу, пользовательский элемент управления, файл кода класса и пакеты.файл конфигурации для my ASP.NET проект / решение веб-приложения. Я сделал ошибку, чтобы вручную отменить / удалить эти файлы из решения перед использованием диалогового окна пакеты NuGet для удаления пакета. В этот момент все смешалось.

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