Wie die meisten Leute verwende ich das jQuery Nuget-Paket , um auf dem neuesten Stand zu bleiben.
Mit der Veröffentlichung von jQuery 2.0 werde ich nun aufgefordert, jQuery 1.9.1 auf 2.0 zu aktualisieren. Derzeit habe ich auf meinen Websites genügend Besucher, die "alte" Versionen von Browsern verwenden, die ich lieber bei 1.9.x und jQuery Migrate verwenden möchte .
Gibt es eine Möglichkeit, Nuget anzuweisen, bei der Suche nach Updates eines Pakets (jQuery oder auf andere Weise) bei einer bestimmten Version (1.9.x) zu bleiben?
Ich verwende die Visual Studio 2010/2012-Erweiterungen, aber wenn ich die Befehlszeilenschnittstelle in VS verwenden muss, um dieses Problem zu umgehen, werde ich dies mit Sicherheit tun.
Hinweis: Eine Sache im Hinterkopf ist, dass sie das Update durcheinander gebracht haben. Da sich jQuery 1.9.x und 2.0.x / 2.x ziemlich unterscheiden, sollten sie stattdessen ein jQuery 2-Paket (.0.x | .x) erstellen.
Natürlich müssen dann Leute, die tatsächlich auf 2.x aktualisieren möchten, davon wissen und wechseln, welches Paket sie installieren möchten. Aber angesichts der Tatsache, dass es wichtige Änderungen enthält, ist das vielleicht besser?
Antworten:
Meiner Meinung nach ist dies ein Fehler des Paketautors. Ein Update, das die Unterstützung für mehrere Browser aufhebt, sollte in ein separates Nuget-Paket der Version 2 aufgenommen und entsprechend angekündigt werden, dh mit erheblichen Haftungsausschlüssen. Die 1.9-Bibliothek ist kein Legacy und wird in Zukunft weitere Updates erhalten. Ich habe Kontakt mit dem Autor des Pakets aufgenommen und werde mehr schreiben, wenn ich eine Antwort erhalte.
In der Zwischenzeit können Sie die Version Ihres Pakets mithilfe der folgenden Syntax einschränken
packages.config
:Weitere Informationen zu Versionsbeschränkungen finden Sie hier:
http://docs.nuget.org/docs/reference/Versioning
Nach der Änderung der Konfiguration sollte ein Update Ihr jQuery-Paket nicht auf die Version 2.0 aktualisieren. In der Vergangenheit gab es Probleme mit dem UI-Paketmanager, der das
allowedVersions
Attribut nicht beachtete ( https://nuget.codeplex.com/workitem/1891) ) Wenn Sie auf dieses Problem stoßen, müssen Sie möglicherweise die Befehlszeile verwenden.Nichts davon löst jedoch das Problem, was passiert, wenn der 1.9-Zweig aktualisiert wird, da sich der Paket-Feed jetzt auf der Spur 2.0+ befindet. Ich gehe davon aus, dass Sie zu einem neuen Nuget-Paket wechseln müssen, das speziell für die Unterstützung der 'Legacy'-Version 1.x geschrieben wurde, oder das Skript jedes Mal manuell kopieren müssen.
In jedem Fall werde ich dies aktualisieren, wenn ich mehr erfahre.
Bearbeiten:
Der Paketautor hat angegeben, dass in Zukunft sowohl der 1.x- als auch der 2.x-Pfad unterstützt werden, dh der Paket-Feed wird parallele Versionen enthalten, anstatt sie zu teilen. Soweit ich sehen kann, besteht die Lösung darin, eine Versionsbeschränkung auf Paketkonfigurationsebene zu verwenden, um ein Update auf die 2.x-Version zu verhindern, z.
(Wenn Sie sowohl die Min- als auch die Max-Version in angeben,
allowedVersions
sollte eine Aktualisierung möglich sein, ohne dass ein Wechsel zur 2.x-Version riskiert wird. Übrigens sieht die rechte Klammer seltsam aus, ist aber korrekt - sie bedeutet "weniger als Version 2".)quelle
jquery1
Paket auf Nuget gibt, das nur den 1.x-Zweig verfolgt.Wie wäre es, die Version anzugeben?
PM> Install-Package jQuery -Version 1.9.1
Referenzen: http://nuget.org/packages/jQuery/1.9.1
quelle
Nuget hat jetzt ein jquery1-Paket , das nur den 1.x-Zweig verfolgt, sodass Sie in der Lage sein sollten, das jQuery- Kernpaket gegen dieses auszutauschen .
quelle
Ich habe die beiden Lösungen von oben für @TeYoU kombiniert
Zuerst habe ich das Paket von der Paketmanagerkonsole installiert:
Menü Extras -> Bibliothekspaket-Manager -> Paketmanager-Konsole
Dann habe ich die packages.config bearbeitet, wie @Dave R. sagt:
Dann habe ich mit Nuget Manager auf die aktuelle Version aktualisiert, derzeit 1.10.2, und es hat wie ein Zauber funktioniert.
quelle