【问题标题】:C# MVC - Styles not rendering when optimizations are set to trueC# MVC - 优化设置为 true 时不呈现样式
【发布时间】:2017-01-23 00:12:30
【问题描述】:

我在 Config.cs 中有以下代码:

        bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
                    "~/Scripts/jquery-2.2.3.min.js",
                    "~/Scripts/jquery.validate.min.js",
                    "~/Scripts/jquery.validate.unobtrusive.min.js",
                    "~/Scripts/jquery.unobtrusive-ajax.min.js"
                    ));
        bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
                    "~/Scripts/modernizr-*"));
        bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include(
                  "~/Scripts/bootstrap.js",
                  "~/Scripts/respond.js"
                  ));
        bundles.Add(new StyleBundle("~/Content/css").Include(
                  "~/Content/bootstrap.css",
                  "~/Content/font-awesome.min.css",
                  "~/Content/css/site.css", 
                  "~/Content/css/ab-style.css"));

样式未正确呈现,page 看起来很奇怪。但是当我在 config.cs 中设置 BundleTable.EnableOptimizations = false 时,一切正常。有没有人知道为什么会发生这种情况。

注意:Web.config 中没有 Debug=“true”,并且没有虚拟路径冲突,因为我的文件夹中没有“~/bundles/jquery”、“~/bundles/bootstrap”...项目。

【问题讨论】:

标签: c# optimization asp.net-mvc-5 styles asp.net-bundling


【解决方案1】:

在虚拟文件夹中创建你的包。

  bundles.Add(new StyleBundle("~/Content/css/AllMyCss.css").Include(
              "~/Content/bootstrap.css",
              "~/Content/font-awesome.min.css",
              "~/Content/css/site.css", 
              "~/Content/css/ab-style.css"));

并使用下面的代码来渲染一个包

@Styles.Render("~/content/css/AllMyCss.css")

【讨论】:

  • 感谢这解决了这个问题。可能样式包中存在路径冲突。
  • 我尝试这个问题两周。你是第一。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-12-22
  • 2012-08-27
  • 1970-01-01
  • 1970-01-01
  • 2018-04-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多