405 Stimmen

Wie kann ich eine ältere Version eines Pakets über NuGet installieren?

Ich möchte eine ältere Version eines Pakets installieren ( Newtonsoft.Json ). Aber NuGet rollt zurück:

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

Wie kann ich das tun?

600voto

Xavier Decoster Punkte 14352

Versuchen Sie das Folgende:

Uninstall-Package Newtonsoft.Json -Force

Gefolgt von:

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

273voto

James Roland Punkte 8103

Ab dem NuGet 2.8 gibt es eine Funktion zum Herabstufung ein Paket.

NuGet 2.8 Versionshinweise

Beispiel:

Der folgende Befehl in der Package Manager Console wird den Couchbase Client auf Version 1.3.1.0 downgraden.

Update-Package CouchbaseNetClient -Version 1.3.1.0

Ergebnis:

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

Etwas zu beachten wie bei Crimbo abajo:

Dieser Ansatz funktioniert nicht beim Downgrade von einer Vorabversion auf eine andere Vorabversion - er funktioniert nur beim Downgrade auf eine Release-Version

51voto

ken Punkte 16622

Ich habe die Die Antwort von Xavier eine ganze Menge. Ich möchte hinzufügen, dass die Einschränkung der Paketversion auf einen bestimmten Bereich in den neuesten Versionen von NuGet einfach und nützlich ist.

Zum Beispiel, wenn Sie nie wollen Newtonsoft.Json zu aktualisieren über Version 3.x.x in Ihrem Projekt, ändern Sie den entsprechenden package Element in Ihrem packages.config Datei wie folgt aussehen:

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

Beachten Sie die allowedVersions Attribut. Dadurch wird die Version dieses Pakets auf Versionen zwischen 3.0 ( inklusive ) und 4.0 ( exklusiv ). Dann, wenn Sie eine Update-Package für die gesamte Lösung, müssen Sie sich nicht darum kümmern, dass dieses spezielle Paket über die Version 3.x.x .

Die Dokumentation für diese Funktion lautet ici .

26voto

RajeshKdev Punkte 6147

Nun, es ist sehr vereinfacht in Visual Studio 2015 und höher . Sie können tun Downgrade / Upgrade innerhalb der Benutzeroberfläche selbst, ohne Befehle in der Paketmanager-Konsole auszuführen.

  1. Klicken Sie mit der rechten Maustaste auf Ihr Projekt und *geht zu Verwalten von NuGet-Paketen .

  2. Sehen Sie sich das folgende Bild an.

    • Select your Package and Choose the Version die Sie installieren wollten.

NuGet Package Manager window of Project

Sehr, sehr einfach, nicht wahr? :)

2voto

knocte Punkte 15776

Eine weitere manuelle Möglichkeit, es zu bekommen:

.nuget\nuget.exe install Newtonsoft.Json -Version 4.0.5

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X