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