捆绑和缩小查找错误的文件

时间:2012-11-30 13:48:13

标签: c# .net-4.5 asp.net-optimization bundling-and-minification

所以我突然遇到麻烦,当我进行捆绑和缩小时,它会提取错误的文件版本。

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

bundles.Add(new ScriptBundle("~/bundles/scripts").Include(
                             "~/Scripts/bootstrap.js",
                             "~/Scripts/knockout-{version}.js",
                             "~/Scripts/jquery.signalR-{version}.js",
                             "~/Scripts/underscore.js",
                             "~/Scripts/Code/vLib.js"
                             ));

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

我的解决方案中的文件是:jquery-1.8.3.js,jquery-ui-1.9.2.js,knockout-2.2.0.js,jquery.signalR-0.5.3.js。< / p>

我部署时网站正在寻找的文件是:jquery-1.7.2.js,jquery-ui-1.8.22.js,knockout-2.1.0.js,jquery.signalR-0.5.2。 JS。

我的理解是,当你使用该版本时,它会寻找最新版本....但我想有些事情搞砸了。

有人有什么想法吗?

2 个答案:

答案 0 :(得分:0)

它不使用最新版本,但如果您将jquery更新为最新版本,则不必重新编译。我相信它会查找满足要求的第一个文件。

http://weblogs.asp.net/jgalloway/archive/2012/08/16/asp-net-4-5-asp-net-mvc-4-asp-net-web-pages-2-and-visual-studio-2012-web-developer-features.aspx 在那个链接中,Jon Galloway说:“我最喜欢的一个部分就是我们可以制作捆绑包来容纳脚本名称中的版本号,所以更新jQuery(如果你真棒的话可能通过NuGet)不需要 any < / em>代码/标记更改:“

答案 1 :(得分:0)

{version}模式基本上只是一个正则表达式,因此它将匹配并包含当前所有版本的jquery。我们肯定会考虑在将来添加类似{highest-version}的内容。