Ответ 1
попробуйте следующее:
Uninstall-Package Newtonsoft.Json -Force
а затем:
Install-Package Newtonsoft.Json -Version <press tab key for autocomplete>
Я хочу установить более старую версию пакета (Newtonsoft.Json
). Но NuGet откатывается.
PM> Install-Package Newtonsoft.Json -Version 4.0.5
Successfully installed 'Newtonsoft.Json 4.0.5'.
Install failed. Rolling back...
Install-Package : Already referencing a newer version of 'Newtonsoft.Json'.
Любая помощь будет принята с благодарностью.
попробуйте следующее:
Uninstall-Package Newtonsoft.Json -Force
а затем:
Install-Package Newtonsoft.Json -Version <press tab key for autocomplete>
По состоянию на Nuget 2.8 есть функция понизить пакет.
Замечания по выпуску Nuget 2.8
Пример:
Следующая команда, введенная в консоль диспетчера пакетов, уменьшит клиент couchbase до версии 1.3.1.0
Update-Package CouchbaseNetClient -Version 1.3.1.0
Результат:
Updating 'CouchbaseNetClient' from version '1.3.3' to '1.3.1.0' in project [project name].
Removing 'CouchbaseNetClient 1.3.3' from [project name].
Successfully removed 'CouchbaseNetClient 1.3.3' from [project name].
Что-то примечание в соответствии с приведенным ниже:
"этот подход не работает для понижения с одной предварительной версии до другой предварительной версии - он работает только для понижения до версии выпуска
Я использовал Xavier ответ совсем немного. Я хочу добавить, что ограничение версии пакета до указанного диапазона легко и полезно в последних версиях NuGet.
Например, если вы никогда не хотите, чтобы Newtonsoft.Json
обновлялась в прошлом проекте 3.x.x
в вашем проекте, измените соответствующий элемент package
в вашем файле packages.config
так:
<package id="Newtonsoft.Json" version="3.5.8" allowedVersions="[3.0, 4.0)" targetFramework="net40" />
Обратите внимание на атрибут allowedVersions
. Это ограничит версию этого пакета версиями между 3.0
(включительно) и 4.0
( эксклюзивно). Затем, когда вы выполняете Update-Package
для всего решения, вам не нужно беспокоиться о том, что данный пакет обновляется прошлой версией 3.x.x
.
Документация для этой функциональности здесь.
Теперь это очень сильно упростилось в Visual Studio 2015. Вы можете выполнить Downgrade / Upgrade
в самом интерфейсе пользователя, не выполняя команды в консоли диспетчера пакетов.
Right click on your project
и go to Manage Nuget Packages
.
Посмотрите на изображение ниже.
Select your Package and Choose the Version
, который вы хотели установить.Очень, очень просто, не так ли? :) Надеюсь, это поможет...
Еще одна ручная опция, чтобы получить его:
.nuget\nuget.exe install Newtonsoft.Json -Version 4.0.5