Scripts.Render使用过时的javascript文件

我的MVC4应用程序使用Scripts.Render加载一个正在加载名为“functions.js”的文件的包。

当我在浏览器中调试此应用程序时,脚本会加载,但版本已过时。 当我直接查看资源但附加?v=anytext ,脚本看起来是正确的,但如果没有附加,脚本会显示旧代码。 有没有办法强制捆绑输出正确的文件而不是陈旧的文件?

这可能是一个缓存问题。 在调试模式下使用Bundling和Minification时(在web.config设置 ),将禁用捆绑/缩小。

你可以通过添加BundleTable.EnableOptimizations = true;来覆盖它并强制捆绑和缩小BundleTable.EnableOptimizations = true; 。 这将使它在生产环境中表现得像它将捆绑和缩小所有内容,并且脚本引用包括该版本控制参数(就像您给出的那样)将强制浏览器在发生任何更改时重新加载脚本。

 public class BundleConfig { public static void RegisterBundles(BundleCollection bundles) { //all your bundle code BundleTable.EnableOptimizations = true; } }