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

时间:2014-04-14 03:29:31

标签: asp.net asp.net-mvc-4 bundling-and-minification umbraco7

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

BundleTable.EnableOptimizations = true;

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

GET / localhost / bundles / scripts / angularjs / commonmodules?v = 13-uWpwzN3U6kiHVssXRdpywHxrn09twvYKwoDVN3SU1 404(Not Found)

但是,如果我尝试打开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; web.webServer上添加以下行:

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

我不确定这是否相关,但我在本网站上使用Umbraco v7,只有在我将EnableOptimizations设置为&#34; true&#34;。

1 个答案:

答案 0 :(得分:16)

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

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

<add key="umbracoReservedPaths" value="~/umbraco,~/install/,~/bundles/"/>