捆绑和缩小返回404

时间:2013-09-09 12:15:07

标签: c# asp.net asp.net-mvc http-status-code-404 bundling-and-minification

  1. 已安装包System.Web.Optimization
  2. 捆绑包已配置如下

    using System.Web.Optimization;
    public class BundleConfig
    {
        public static void RegisterBundles(BundleCollection bundles)
        {
            bundles.Add(new ScriptBundle("~/Content/themes/base/js").Include("~/Scripts/Site.js"));
            bundles.Add(new StyleBundle("~/Content/themes/base/css").Include("~/Content/Site.css"));
    
        }
    }
    
  3. 将其添加到Layout.cshtml

    @System.Web.Optimization.Scripts.Render("~/Content/themes/base/js")
    @System.Web.Optimization.Styles.Render("~/Content/themes/base/css")
    
  4. css成功缩小但是为js文件返回404错误?

2 个答案:

答案 0 :(得分:7)

确保捆绑Content/themes/base/js的虚拟路径与真实路径无关。因此,我们通常会在虚拟路径中使用~/bundles

示例

public static void RegisterBundles(BundleCollection bundles)
{
    bundles.Add(new ScriptBundle("~/bundles/base/js").Include("~/Scripts/Site.js"));
    bundles.Add(new StyleBundle("~/bundles/base/css").Include("~/Content/Site.css"));

}

答案 1 :(得分:5)

我的某个生产服务器突然收到404错误,因为我的网站脚本包资源。

经过一些搜索后,我发现this blogpost提出了以下解决方案,该解决方案应该在web.config system.webServer部分中使用,并且效果很好。

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