优化的捆绑包在从网站请求时返回404

问题描述 投票:6回答:1

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

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”时才会发生。

asp.net asp.net-mvc-4 bundling-and-minification umbraco7
1个回答
16
投票

如果我没记错的话,umbraco配置相关。

在你的umbracoReservedPaths中找到关键的appSettings(在web.config中),并在那里添加包的路径,如下所示:

<add key="umbracoReservedPaths" value="~/umbraco,~/install/,~/bundles/"/>
© www.soinside.com 2019 - 2024. All rights reserved.