使用BundleTransformer在ASP.NET MVC 5中进行资产版本控制

时间:2014-07-11 07:49:20

标签: asp.net-mvc bundletransformer

我正在使用BundleTransformer来合并和优化我们的项目JavaScriptLESSCSS文件。

在其他项目和库中,通常会将组合文件的哈希值附加到HTML代码中嵌入资源的URL,以强制浏览器在其中一个源代码中立即下载新版本的文件文件已经改变。

我一直在为BundleTransformer软件包寻找类似的解决方案,但没有找到任何关于版本控制的内容(也尝试过使用缓存清除等)。

由于此软件包目前有超过10万的下载量,我想知道其他人是如何解决这个问题的?是否真的没有内置方法可以将某种版本控制后缀附加到资产URL?

我还通过手动将构建版本添加到我们的所有资产中偶然发现了this solution - 我仍然想知道这个问题是否有更优雅的解决方案? (此方法也很可能强制浏览器重新下载已更改的文件,例如jQuery等库

1 个答案:

答案 0 :(得分:2)

最有可能的是,您的Web应用程序正在调试模式下运行。

尝试通过编辑Web.config文件将其切换到发布模式:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    …
    <system.web>
        <compilation debug="false" … />
    </system.web>
    …
</configuration>

或者在/App_Start/BundleConfig.cs文件中添加以下行:

BundleTable.EnableOptimizations = true;