web-dev-qa-db-fra.com

Comment installer une ancienne version du paquet via NuGet?

Je souhaite installer une version antérieure d'un package (Newtonsoft.Json). Mais NuGet recule.

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

Toute aide sera fortement appréciée.

370
Nebide Yildiz

essayez ce qui suit:

Uninstall-Package Newtonsoft.Json -Force

suivi par:

Install-Package Newtonsoft.Json -Version <press tab key for autocomplete>
566
Xavier Decoster

À partir de Nuget 2.8 , une fonctionnalité permet de rétrograder un paquet.

Notes de publication de Nuget 2.8

Exemple:

La commande suivante entrée dans la console Package Manager Console rétrograde le client Couchbase vers la version 1.3.1.0.

Update-Package CouchbaseNetClient -Version 1.3.1.0

Résultat:

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

Quelque chose à noter comme ci-dessous:

"cette approche ne fonctionne pas pour passer d'une version préliminaire à une autre version préliminaire - elle ne fonctionne que pour passer à une version finale"

261
James Roland

J'ai utilisé un peu la réponse de Xavier. Je souhaite ajouter que restreindre la version du package à une plage spécifiée est facile et utile dans les dernières versions de NuGet.

Par exemple, si vous ne souhaitez jamais que Newtonsoft.Json soit mis à jour après la version 3.x.x de votre projet, modifiez l'élément package correspondant dans votre fichier packages.config de la manière suivante:

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

Notez l'attribut allowedVersions. Ceci limitera la version de ce paquet aux versions comprises entre 3.0 ( inclus ) et 4.0 ( exclusif ). Ensuite, lorsque vous effectuez un Update-Package sur l'ensemble de la solution, vous n'avez pas à vous soucier de la mise à jour de ce package particulier après la version 3.x.x.

La documentation de cette fonctionnalité est ici .

50
ken

Maintenant, c'est très simplifié dans Visual Studio 2015 . Vous pouvez utiliser Downgrade / Upgrade dans l'interface utilisateur elle-même, sans exécuter de commandes dans la console du gestionnaire de packages.

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

  2. Regardez l'image ci-dessous.

    • Select your Package and Choose the Version, que vous vouliez installer.

Nuget Package Manager window of Project

Très très simple, n'est-ce pas? :) J'espère que cela vous aidera ...

18
RajeshKdev