/ / Comment déterminer la version de jQuery / MVC? - asp.net

Comment déterminer la version de jQuery / MVC? - asp.net

J'essaie de suivre [Créer un échafaudage personnalisé pour Visual Studio] créer un échafaudage pour MVC http://blogs.msdn.com/b/webdev/archive/2014/04/03/creating-a-custom-scaffolder-for-visual-studio.aspx

alors j'ai une question, Comment déterminer l'environnement de projet actif? comme: version jQuery, version MVC

Réponses:

0 pour la réponse № 1

Les API échafaudages vous aideront avec des informations surle projet mais pas le type d’information que vous recherchez ici. Malheureusement, je ne pense pas qu’il existe un ensemble d’API dont vous aurez besoin. Au lieu de cela, il peut y avoir différentes solutions pour chaque question.

Par exemple pour la question Quelle version de jQuery est installée? Il n'y a pas de moyen définitif de savoir. Vous avez différentes manières pour que jQuery soit ajouté à un projet.

  1. À travers un paquet NuGet
  2. Téléchargé et installé manuellement
  3. Par d'autres moyens, comme bower / grunt

Le meilleur à utiliser est probablement les paquets NuGet. Pour déterminer quels paquets NuGet sont installés dans un projet, je pense que vous devrez les lire manuellement packages.config. Il peut y avoir une API VS qui le renvoie mais je ne suis pas sûr.

Pour la question Quelle version de MVC est utilisée? Vous devriez être en mesure de déterminer cela grâce aux références du fichier .csproj. Vous pouvez utiliser les API MSBuild / VS pour accéder à cette liste.


0 pour la réponse № 2

Il existe un moyen de déterminer quelle version dejQuery est installé s'il (ou sa version réduite) est fourni (ASP.NET MVC 4 et versions ultérieures). De plus, si vous utilisez la fonctionnalité {version} dans le regroupement, la version peut être modifiée, certainement avec NuGet, et (je devine) par d'autres mécanismes (y compris manuellement), et votre code reconnaîtra automatiquement le changement. Ceci est utile pour des choses comme PhantomJS.

Donc, dans votre dossier App_Start de la classe BundleConfig, regroupez votre jQuery:

bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-{version}.js"));

Cela peut alors être rendu en dehors de la normaleutilisation de bundles, à savoir le moteur de vue, en tant que valeur IHtmlString. Ci-dessous le code. La valeur est un script HTML complet. Les deux dernières lignes convertissent la valeur en chaîne et éliminent les balises de script d'ouverture et de fermeture afin de pouvoir l'afficher ultérieurement dans cette publication.

IHtmlString jQueryScript = System.Web.Optimization.Scripts.Render("~/bundles/jquery");

string jQueryVersion = jQueryScript.ToString().Replace("<script ", "").Replace("></script>", "");
System.Diagnostics.Debug.WriteLine(jQueryVersion);

Voici le texte qui apparaît dans la fenêtre "Sortie" après une exécution de débogage:

src = "/ Scripts / jquery-2.2.0.js"

Quand j'ai exécuté ceci pour la première fois, la version installée avec VS 2015 (quelque chose comme 1.10) était produite. J'ai ensuite mis à jour via NuGet et la ligne a correctement détecté la version nouvellement installée (2.2).