2016-11-29 3 views
0

Например, удаление пакета с большим количеством зависимостей, как WindowsAzure.Storage:NuGet Не удается удалить пакет рекурсивно, если некоторые зависимости используются

1) кнопки Удалить из «Управления NuGet пакетов UI» оставляют всю зависимость (в основном неиспользованные). Делает прекрасный смысл, зачем мне нужно удалять неиспользуемые зависимости?

2) Хорошо, таким образом the docs упоминание -RemoveDependencies который описывается как:

Удаляется пакет и его неиспользованные зависимости. То есть, если какая-либо зависимость имеет другой пакет, который зависит от него, он пропускается.

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

PM> Uninstall-Package WindowsAzure.Storage -RemoveDependencies 
Attempting to gather dependency information for package 'WindowsAzure.Storage.7.1.2' with respect to project '***', targeting '.NETFramework,Version=v4.5.2' 
Resolving actions to uninstall package 'WindowsAzure.Storage.7.1.2' 
Uninstall-Package : Unable to uninstall 'Newtonsoft.Json.9.0.1' because '***, Hyak.Common.1.0.2, Microsoft.Azure.Common.Dependencies.1.0.0' depend on it. 
At line:1 char:1 
+ Uninstall-Package WindowsAzure.Storage -RemoveDependencies 
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    + CategoryInfo   : NotSpecified: (:) [Uninstall-Package], Exception 
    + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PackageManagement.PowerShellCmdlets.UninstallPackageCommand 

Wat?

Нет, никакой другой пакет не зависит от WindowsAzure.Storage (это довольно много корневой пакет)

ОК, так что, возможно, что-то напутал в проекте?

Создано новое решение, установлен WindowsAzure.Storage и Nancy.Serialization.JsonNet (оба зависят от Newtonsoft.Json), пытался удалить WindowsAzure.Storage - тот же результат.

Возможно, это работает?

VS 2015 UPD3

UPD подтвердил, что ошибка и, вероятно, не становится фиксированной, по-видимому, единственный способ, чтобы заставить его работать, чтобы использовать новую модель пакетов. См. Принятый ответ для ссылки на созданную проблему GitHub

ответ

0

У меня такая же проблема и протестирована с помощью другой версии диспетчера пакетов NuGet. Поэтому я передаю эту проблему GitHub. Вы можете добавить свои комментарии к этой проблеме.

https://github.com/NuGet/Home/issues/4026

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

И вы также можете использовать команду «Удалить пакет WindowsAzure.Storage -RemoveDependencies -Force». Хотя это приведет к удалению зависимостей, зависящих от других пакетов, мы можем переустановить эти зависимости для этих пакетов. Это быстрее, чем удалять пакеты и все его зависимости вручную.

Смежные вопросы