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

lea*_*iti 6 asp.net asp.net-mvc-4 bundling-and-minification umbraco7

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

BundleTable.EnableOptimizations = true;
Run Code Online (Sandbox Code Playgroud)

当我尝试打开我的网站时,它无法加载,当我打开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);
Run Code Online (Sandbox Code Playgroud)

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

<modules runAllManagedModulesForAllRequests="true">
    <remove name="BundleModule" />
    <add name="BundleModule" type="System.Web.Optimization.BundleModule" />
</modules>
Run Code Online (Sandbox Code Playgroud)

我不确定这可能是相关的,但我在这个网站上使用Umbraco v7,这只有在我将EnableOptimizations设置为"true"时才会发生.

Maj*_*yte 16

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

找到你的密钥umbracoReservedPaths(in appSettings)web.config 并在那里添加bundle的路径,如下所示:

<add key="umbracoReservedPaths" value="~/umbraco,~/install/,~/bundles/"/>
Run Code Online (Sandbox Code Playgroud)

  • 天啊 - 三年来,我一直试图找到这个.这个工作!!! 我目前正在使用v4.7,v7.5和v7.6.3.(1) (2认同)