6

我设置时遇到了这个奇怪的问题:

BundleTable.EnableOptimizations = true;

当我尝试打开我的网站时,它只是无法加载,当我打开 Chrome 的控制台时,我看到以下消息:

GET /localhost/bundles/scripts/angularjs/commonmodules?v=13-uWpwzN3U6kiHVssXRdpywHxrn09twvYKwoDVN3SU1 404(未找到)

但是,如果我尝试打开 chrome 控制台上显示的链接,它会加载得很好,换句话说,当我尝试直接打开它时会找到该链接,但是当页面尝试打开时服务器(IIS 7.5)会返回 404通过标签链接它。

有没有人经历过这种奇怪的行为?

我的包的虚拟路径不映射到任何现有文件或目录,我使用以下代码包含它们:

var myBundle= new ScriptBundle("~/bundles/scripts/angularjs/bootstrapping");
bootstrapping.Include("~/app/app.js")
    .Include("~/app/config.js")
    .Include("~/app/config.exceptionHandler.js")
    .Include("~/app/config.route.js");
bundles.Add(bootstrapping);

我已经尝试在 web.config 的 system.webServer 上添加以下行:

<modules runAllManagedModulesForAllRequests="true">
    <remove name="BundleModule" />
    <add name="BundleModule" type="System.Web.Optimization.BundleModule" />
</modules>

我不确定这是否相关,但我在这个网站上使用了 Umbraco v7,只有当我将 EnableOptimizations 设置为“true”时才会发生这种情况。

4

1 回答 1

16

如果我没记错的话,它与 umbraco 配置有关。

在您的文件中找到密钥umbracoReservedPaths(in appSettings)web.config 并在其中添加捆绑包的路径,如下所示:

<add key="umbracoReservedPaths" value="~/umbraco,~/install/,~/bundles/"/>
于 2014-04-21T07:55:03.163 回答