为什么捆绑包会在一台服务器上呈现捆绑和缩小,而不是在另一台服务器上?QA 和 Production 都是相同的操作系统和 IIS 版本,但它们给出不同的结果。在 QA 中,Styles.Render()
生成Scripts.Render()
捆绑的、缩小的输出。在生产中,他们通常不会(但有时会)。
我的布局中有这条线。
@Scripts.Render("~/siteJs")
在开发中,我期望并得到这个输出。
<script src="/MyApp/Scripts/jquery.placeholder.js"></script>
<script src="/MyApp/Scripts/Site.js"></script>
在 QA 服务器上,我期望并得到这个。
<script src="/MyApp/siteJs?v=7-G_q9YBnk..."></script>
但在生产中,我通常(但不总是)得到开发输出。
<script src="/MyApp/Scripts/jquery.placeholder.js"></script>
<script src="/MyApp/Scripts/Site.js"></script>
为了尝试重现,我从 QA 中删除了 Web 应用程序并将生产二进制文件和配置部署到 QA,但 QA 仍然给了我预期的输出。我已经在 MVC3 和 MVC4 的多个 Web 应用程序中看到了这一点。
我可以通过将布局中的行更改为此来强制它可靠地缩小和捆绑。
@Scripts.Render(BundleTable.Bundles.ResolveBundleUrl("~/siteJs"))
不幸的是,这总是捆绑和缩小,即使在开发中也是如此。
编辑:
调试未在生产和 QAweb.config
文件中设置。
<compilation targetFramework="4.0">