Puis-je conserver Nuget sur le chemin d’access jQuery 1.9.x / 1.x (au lieu de mettre à niveau vers 2.x)?

Comme la plupart des gens, j’utilise le package jQuery Nuget pour restr à jour.

Cependant, avec la sortie de jQuery 2.0, je suis maintenant invité à mettre à niveau jQuery 1.9.1 vers 2.0. En ce moment, j’ai assez de visiteurs sur mes sites utilisant des versions «anciennes» de navigateurs que je préfère conserver avec 1.9.x et jQuery Migrate .

Y a-t-il un moyen de demander à Nuget de s’en tenir à une version particulière (1.9.x) lors de la vérification des mises à jour d’un paquet (jQuery ou autre)?

J’utilise les extensions Visual Studio 2010/2012, mais si je dois utiliser l’interface de ligne de commande dans VS pour contourner ce problème, je le ferai certainement.

Note: Une chose au fond de mon esprit est qu’ils ont foiré la mise à jour. Comme jQuery 1.9.x et 2.0.x / 2.x sont assez différents, il semble qu’ils aient plutôt créé un package jQuery 2 (.0.x | .x).

Bien entendu, les personnes souhaitant effectuer une mise à jour vers 2.x devront le savoir et choisir le package qu’elles souhaitent installer. Mais étant donné qu’il contient des changements de rupture, c’est peut-être mieux?

A mon avis, c’est une erreur de l’auteur du paquet. Une mise à jour qui supprime la prise en charge de plusieurs navigateurs aurait dû être intégrée à un package nuget de version 2 distinct et être annoncée en conséquence, c’est-à-dire avec des clauses de non-responsabilité importantes. La bibliothèque 1.9 n’est pas héritée et recevra d’autres mises à jour à l’avenir. J’ai été en contact avec l’auteur du package et écrirai plus si je reçois une réponse.

En attendant, vous pouvez contraindre la version de votre package en utilisant la syntaxe suivante dans vos packages.config :

  

Il y a plus d’informations sur les contraintes de version ici:

http://docs.nuget.org/docs/reference/Versioning

Après avoir modifié la configuration, une mise à jour ne doit pas mettre à jour votre paquet jQuery vers la version 2.0. Il y a eu des problèmes dans le passé avec le gestionnaire de paquets de l’interface utilisateur ne respectant pas l’atsortingbut allowedVersions ( https://nuget.codeplex.com/workitem/1891 ), vous devrez peut-être utiliser la ligne de commande si vous rencontrez ce problème.

Cependant, rien de tout cela ne résout le problème de ce qui se passe lorsque la twig 1.9 est mise à jour car le stream de paquetage se trouve désormais sur la piste 2.0+. Je suppose que vous devrez passer à un nouveau package nuget écrit spécifiquement pour prendre en charge la version 1.x héritée, ou copier le script manuellement à chaque fois.

En tout cas, je mettrai à jour ceci quand j’apprendrai plus.

Modifier:

L’auteur du paquet a déclaré que les chemins d’access 1.x et 2.x seront supportés à l’avenir, c’est-à-dire que le stream de paquet contiendra des versions parallèles au lieu d’être divisés. Pour autant que je sache, la solution consiste à utiliser une contrainte de version au niveau de la configuration du package pour empêcher une mise à jour de la version 2.x, par exemple:

  

(La spécification des versions min et max dans allowedVersions devrait permettre la mise à jour sans risquer de basculer vers la version 2.x. En passant, la parenthèse droite semble étrange, mais correcte – cela signifie «moins que la version 2».)

Que diriez-vous de spécifier la version?

PM> Paquet-installation jQuery -Version 1.9.1

Références: http://nuget.org/packages/jQuery/1.9.1

Nuget a maintenant un paquet jquery1 qui ne fait que suivre la twig 1.x, vous devriez donc pouvoir changer le paquet jQuery de base pour celui-ci.

J’ai combiné les deux solutions du haut pour @TeYoU

Tout d’abord, j’ai installé le package à partir de la console du gestionnaire de packages:

Menu Outils -> Gestionnaire de packages de bibliothèque -> Console du gestionnaire de packages

 PM> Install-Package jQuery -Version 1.9.1 

Puis j’ai édité les packages.config comme @Dave R. dit:

  

Ensuite, j’ai mis à jour la version actuelle, actuellement 1.10.2 en utilisant Nuget Manager et cela a fonctionné comme un charme.