Как установить более старую версию пакета через NuGet?
Я хочу установить более старую версию пакета (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'.
Любая помощь будет оценена.
4 ответа
Попробуйте следующее:
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].
Что-то, чтобы отметить согласно прайс-листу ниже:
"этот подход не работает для понижения с одной предварительной версии до другой предварительной версии - он работает только для перехода на версию выпуска"
Я использовал ответ Ксавье совсем немного. Я хочу добавить, что ограничение версии пакета указанным диапазоном легко и полезно в последних версиях 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