Не удалось восстановить/удалить/обновить пакет NuGet, поскольку указанная версия больше недоступна

Я пытаюсь дать TestalR Sample тестовый диск, но, похоже, он ссылается на старую версию SignalR, которая больше не доступна. Фактическая проблема заключается в том, что NuGet не может удалить недоступный пакет без его первоначального восстановления!!!

PM> Install-Package Microsoft.AspNet.SignalR
Install-Package : Some NuGet packages are missing from the solution. The packages need to be restored in order to build the dependency graph. Restore the packages before performing any operations.
At line:1 char:1
+ Install-Package Microsoft.AspNet.SignalR
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [Install-Package], InvalidOperationException
    + FullyQualifiedErrorId : NuGetMissingPackages,NuGet.PackageManagement.PowerShellCmdlets.InstallPackageCommand

Тогда на Package Manager Console будет кнопка Restore, нажатие которой приведет к следующей ошибке:

An error occurred while trying to restore packages: Unable to find version '2.1.0-pre-131116-b279' of package 'Microsoft.AspNet.SignalR.Client'

Как установить более новую версию адресного пакета, если текущая версия не может быть найдена?

Я использую:

Microsoft Visual Studio Community 2015
Version 14.0.24720.00 Update 1
Microsoft .NET Framework
Version 4.6.01038
NuGet Package Manager   3.3.0

[ОБНОВЛЕНИЕ]

Когда я пытаюсь удалить неприятный пакет:

PM> Uninstall-Package -Id Microsfot.AspNet.SignalR -RemoveDependencies -Force
Uninstall-Package : Some NuGet packages are missing from the solution. The packages need to be restored in order to build the dependency graph. Restore the packages before performing any operations.
At line:1 char:1
+ Uninstall-Package -Id Microsfot.AspNet.SignalR -RemoveDependencies -F ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [Uninstall-Package], InvalidOperationException
    + FullyQualifiedErrorId : NuGetMissingPackages,NuGet.PackageManagement.PowerShellCmdlets.UninstallPackageCommand

Ответы

Ответ 1

Вы можете вручную удалить зависимость:

  • Закрыть Visual Studio (не сложно, но полезно)
  • В текстовом редакторе удалите зависимость от packages.config
  • Удалить пакет из каталога/каталога
  • В текстовом редакторе удалите все ссылки на пакет из файла .csproj.
  • Запустить Visual Studio
  • Переустановите пакет через NuGet

Ответ 2

Там проще, если вы знаете версии, которые в настоящее время существуют в фиде. Это решение может исправить каждый пакет в каждом проекте.

  • Откройте файл packages.config(если у вас более одного проекта, сделайте это для каждого файла packages.config)
  • Обновить версии до правильных (т.е. изменить атрибут версии)
  • В консоли диспетчера пакетов введите Update-Package -Reinstall

Надеюсь, что это поможет

Ответ 3

Что для меня работает:

1. Перейдите в файл packages.config,

2. Найти "... id =" Microsoft.AspNet.SignalR.Client "version =" "targetFramework =" net45 "..."

3. Перейдите к существующей версии, скажем, "2.2.0".

4. Сохранить.

5. Перейдите в Nuget и обновите до последней версии.