如何确定jQuery / MVC版本?

时间:2014-05-23 05:41:35

标签: asp.net

我尝试按照[为Visual Studio创建自定义脚手架] 为MVC创建一个脚手架 http://blogs.msdn.com/b/webdev/archive/2014/04/03/creating-a-custom-scaffolder-for-visual-studio.aspx

然后我有一个问题, 如何确定活跃的项目环境?喜欢:jQuery版本,MVC版本

2 个答案:

答案 0 :(得分:0)

脚手架API将帮助您获得有关项目的信息,但不会帮助您查找您在此处查找的信息类型。不幸的是,我不认为你需要一套API。相反,对于每个问题,可能会有不同的解决方案。

例如问题安装了哪个版本的jQuery?没有明确的方法可以知道。您可以通过以下不同方式将jQuery添加到项目中。

  1. 通过NuGet包
  2. 手动下载并安装
  3. 通过bower / grunt等其他方式
  4. 最好使用的是NuGet包。要确定项目中安装的NuGet包,我认为您必须手动阅读packages.config。可能有一个VS API返回它,但我不确定。

    对于问题正在使用哪个版本的MVC?您应该能够通过.csproj文件中的引用来确定。您可以使用MSBuild / VS API访问该列表。

答案 1 :(得分:0)

如果捆绑了(或其最小化版本)(ASP.NET MVC 4及更高版本),有一种方法可以确定安装哪个版本的jQuery。此外,如果您在捆绑中使用{version}功能,则可以使用NuGet更改版本,并且(我猜)通过其他机制(包括手动),您的代码将自动识别更改。这对像PhantomJS这样的东西很有用。

所以在BundleConfig类的App_Start文件夹中,捆绑你的jQuery:

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

然后可以在正常使用bundle(即视图引擎)之外将其呈现为IHtmlString值。下面是代码。该值是完整的HTML脚本。最后两行将值转换为字符串并删除开始和结束脚本标记,以便稍后在此帖子中显示它。

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

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

以下是&#34;输出&#34;中出现的文字。调试运行后的窗口:

SRC =&#34; /Scripts/jquery-2.2.0.js"

当我第一次运行它时,它产生了VS 2015安装的版本(1.10的东西)。然后我通过NuGet更新了该行并成功检测到新安装的版本(2.2)。