我试图在我的项目中使用ASP.NET MVC中的bundle功能,在我的本地一切都很好,如果我将编译调试属性切换为false我可以看到该包正在生成一个版本(v = XXXXXXX)我的应用程序继续工作。
当我将应用程序部署到服务器并请求页面时,捆绑包就在那里,但v =值为空。有什么我想念的吗?
<script src="/bundles/bundlename?v="></script>
您可能遇到的一种情况是捆绑的优化方面。当我开始使用缩小版本时,我的脚本和样式也遇到了同样的问题。例如,如果我使用.min.js
文件在bundle配置中指定,那么当优化框架缩小已经缩小的脚本时,您可能会遇到问题。它也只在发布模式下发生。在所有捆绑的配置之后,我用BundleTable.EnableOptimizations = false;
文件中的BundleConfig.cs
解决了它
我认为你错过了特定的根路径,因为本地它与服务器端不一样。为什么不使用框架中的脚本助手:
@Scripts.Render("~/bundles/bundlename")
我发现了这个问题,在尝试了所有内容之后,我回过头来检查TFS服务器上的构建脚本,我们已经配置了持续集成,结果是构建服务器正在删除.js并且只允许最终构建的.min.js文件。我删除了该指令并开始工作。
基本上.js在服务器上不存在,因此没有任何东西可以捆绑。
谢谢你们的帮助!