0

为什么捆绑包会在一台服务器上呈现捆绑和缩小,而不是在另一台服务器上?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">
4

1 回答 1

3

在生产环境中,确保在 web.config 中将 debug 设置为 false。在开发中将其设置为 true 应该会改变您的输出。

<compilation debug="false" ... />
于 2014-04-17T19:35:56.853 回答