ASP.NET MVC捆绑在本地但不在服务器上工作

时间:2016-01-12 20:14:28

标签: javascript c# asp.net-mvc

我正在尝试在我的项目中使用ASP.NET MVC中的bundle功能,一切都在我的本地很好用,如果我将编译调试属性切换为false我可以看到该包正在生成一个版本(v = XXXXXXX)我的应用程序继续工作。

当我将应用程序部署到服务器并请求页面时,捆绑包就在那里,但v =值为空。有什么我想念的吗?

<script src="/bundles/bundlename?v="></script>

3 个答案:

答案 0 :(得分:2)

您可能遇到的一种情况是捆绑包的优化方面。当我开始使用缩小版本时,我的脚本和样式也遇到了同样的问题。例如,如果我在包配置中使用.min.js文件指定,那么当优化框架缩小已经缩小的脚本时,您可能会遇到问题。它也只在发布模式下发生。在所有捆绑配置

之后,我在BundleTable.EnableOptimizations = false;文件中使用BundleConfig.cs解决了这个问题

答案 1 :(得分:1)

我认为你错过了特定的根路径,因为本地它与服务器端不一样。 为什么不使用框架中的脚本助手:

@Scripts.Render("~/bundles/bundlename")

答案 2 :(得分:0)

我发现了这个问题,在尝试了所有内容之后我回去检查TFS服务器上的构建脚本,我们已经配置了持续集成,结果是构建服务器正在删除.js并且只允许.min.js文件最后的构建。我删除了该指令并开始工作。

基本上,.js在服务器上不存在,因此无需捆绑。

谢谢你们的帮助!