Как установить старую версию пакета через NuGet?


Я хочу установить более старую версию пакета (Newtonsoft.Json). Но Нугет откатывается назад.

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 352

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].

что-то отметить в соответствии с crimbo ниже:

"этот подход не работает для понижения от одной предварительной версии до другой предварительной версии-он работает только для понижения до версии выпуска"

я использовал ответ Ксавье совсем немного. Я хочу добавить, что ограничение версии пакета указанным диапазоном легко и полезно в последних версиях NuGet.

например, если вы не хотите Newtonsoft.Json для обновления прошлой версии 3.x.x в вашем проекте измените соответствующий package элемент packages.config файл выглядит так:

<package id="Newtonsoft.Json" version="3.5.8" allowedVersions="[3.0, 4.0)" targetFramework="net40" />

обратите внимание на

теперь, это очень упрощено в Visual Studio 2015. Вы можете сделать Downgrade / Upgrade в самом пользовательском интерфейсе, без выполнения команд в консоли диспетчера пакетов.

  1. Right click on your project и go to Manage Nuget Packages.

  2. посмотрите на изображение ниже.

    • Select your Package and Choose the Version, который вы хотите установить.

Nuget Package Manager window of Project

Очень Очень Просто, не так ли? :) надеюсь, что это помогает...