Не удалось восстановить/удалить/обновить пакет 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 и обновите до последней версии.