【问题标题】:Why is my CSS bundling not working with a bin deployed MVC4 app?为什么我的 CSS 捆绑不适用于 bin 部署的 MVC4 应用程序?
【发布时间】:2012-08-16 10:40:18
【问题描述】:

根据此处给出的建议和一两个即时修复,我已将一个 MVC4 应用程序部署到我的托管服务提供商,但最明显的问题是 css 的捆绑不起作用。当我用显式文件引用替换捆绑引用时,我的 css 再次工作。

我正在使用来自 VS2012 的标准 MVC4 RTM 项目模板。该提供程序正在运行 IIS 7.5 和 ASP.NET 4,而我之前的同一应用程序的 MVC3 版本运行良好。我猜我在某个版本太低的地方抓取了一个依赖项,这也可能有助于我的area based action link problem

技术症状是:

@Styles.Render("~/Content/css") 行呈现为 <link href="/Content/css?v=" rel="stylesheet"/>

【问题讨论】:

  • 您是否在 Web 配置中设置了 <compilation debug="false" /> 或在 BundleConfig 方法中设置了 BundleTable.EnableOptimizations = true;?您如何捆绑设置和Styles.Render 呼叫?生成的 url 是什么样子的?如果你觉得你有依赖版本不匹配的问题我建议做一个明确的安装 MVC4 RTM 创建一个新项目并复制文件...
  • Debug="false" 不能是必需的,否则捆绑包在我的调试版本中不起作用。但是谢谢,MVC4 是 RTM 的好消息。
  • 您能详细说明but the most immediately apparent problem is that the bundling for css doesn't work 部分吗?它怎么不工作?您在输出中看到捆绑包引用了吗?
  • 你最后是怎么解决这个问题的?我有同样的问题,但这些解决方案都不能解决问题..

标签: asp.net-mvc asp.net-mvc-4 asp.net-optimization


【解决方案1】:

2013 年 11 月 4 日更新:

发生这种情况的原因是因为您的包名称末尾有 .js.css 导致 ASP.NET 无法通过 MVC 运行请求和 BundleModule。

解决此问题以获得更好性能的推荐方法是从您的包名称中删除 .js.css

所以 /bundle/myscripts.js 变成 /bundle/myscripts

或者,您可以修改 system.webServer 部分中的 web.config 以通过 BundleModule 运行这些请求(这是我的原始答案)

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

编辑:我还注意到,如果名称以“css”(不带点)结尾,这也是一个问题。我不得不将我的包名称从“DataTablesCSS”更改为“DataTablesStyles”来解决我的问题。

【讨论】:

  • 我在其他任何地方都没有看到过这个。我试图在 Server 2008/IIS 7/.NET 4 上捆绑,而这正是缺少的。
  • 谢谢!这是唯一对我有用的东西。顺便说一句,这对我来说也适用于 runAllManagedModulesForAllRequests="false"。不过很想知道我为什么需要这个。
  • 这个解决方案终于解决了我的问题!
  • Rob Bird runAllManagedModulesForAllRequests 与解决方案无关。您可以阅读上面 Kurt 的评论,了解为什么启用此设置是个坏主意
  • CDeutsch - 你是我的英雄。我不知道该怎么感谢你才足够。我的问题是样式包名称以 css 结尾(您的编辑说明)。除了将名称更改为“mystyles”而不是“mycss”之外,我无需进行任何其他修复。
【解决方案2】:

无论 .NET 运行的是 4.0 还是 4.5,CSS 和脚本捆绑都应该可以工作。我正在运行 .NET 4.0,它对我来说很好。但是,为了使缩小和捆绑行为正常工作,您的 web.config 必须设置为不在调试模式下运行。

<compilation debug="false" targetFramework="4.0">

在 _Layout.cshtml 文件中为 jQuery UI 示例获取此捆绑包。

@Styles.Render("~/Content/themes/base/css")

如果我使用debug="true" 运行,我会得到以下 HTML。

<link href="/Content/themes/base/jquery.ui.core.css" rel="stylesheet"/>
<link href="/Content/themes/base/jquery.ui.resizable.css" rel="stylesheet"/>
<link href="/Content/themes/base/jquery.ui.selectable.css" rel="stylesheet"/>
<link href="/Content/themes/base/jquery.ui.accordion.css" rel="stylesheet"/>
<link href="/Content/themes/base/jquery.ui.autocomplete.css" rel="stylesheet"/>
<link href="/Content/themes/base/jquery.ui.button.css" rel="stylesheet"/>
<link href="/Content/themes/base/jquery.ui.dialog.css" rel="stylesheet"/>
<link href="/Content/themes/base/jquery.ui.slider.css" rel="stylesheet"/>
<link href="/Content/themes/base/jquery.ui.tabs.css" rel="stylesheet"/>
<link href="/Content/themes/base/jquery.ui.datepicker.css" rel="stylesheet"/>
<link href="/Content/themes/base/jquery.ui.progressbar.css" rel="stylesheet"/>
<link href="/Content/themes/base/jquery.ui.theme.css" rel="stylesheet"/>

但如果我使用debug="false" 运行。我会得到这个。

<link href="/Content/themes/base/css?v=myqT7npwmF2ABsuSaHqt8SCvK8UFWpRv7T4M8r3kiK01" rel="stylesheet"/>

这是一项功能,因此您可以轻松调试脚本和 CSS 文件的问题。我正在使用 MVC4 RTM。

如果您认为这可能是 MVC 依赖问题,我建议您进入 Nuget 并删除所有与 MVC 相关的包,然后搜索 Microsoft.AspNet.Mvc 包并安装它。我正在使用最新版本,它以 v.4.0.20710.0 的形式出现。这应该会获取您需要的所有依赖项。

此外,如果您曾经使用 MVC3,现在尝试使用 MVC4,您将需要进入您的 web.config(s) 并更新其引用以指向 MVC 4.0 版本。如果您不确定,您可以随时创建一个新的 MVC4 应用程序并从那里复制 web.config。如果您这样做,请不要忘记 Views/Areas 文件夹中的 web.config。

更新:我发现您需要的是安装在您的项目中的 Nuget 包 Microsoft.AspNet.Web.Optimization。它默认包含在 MVC4 RTM 应用程序中,无论您将目标框架指定为 4.5 还是 4.0。这是包含捆绑类的命名空间,并且似乎不依赖于框架。我已经部署到没有安装 4.5 的服务器上,它仍然可以按预期工作。只需确保 DLL 与您的应用程序的其余部分一起部署即可。

【讨论】:

  • Microsoft documentation 似乎也表明这只是 .NET 4.5 功能。不是说它不适合你,但也许你在系统的某个地方引用了 4.5?
  • 用我找到的有关命名空间的一些信息更新了我的答案。
  • @JoeyGennari MSDN 文档页面显示了它首次作为 .NET 的一部分发布的时间。您需要查看 Nuget 包的历史记录,以了解团队首次将其带外发布的时间。
  • 当我右键单击要部署到 Azure 的项目时,如果设置 -> 配置设置为“发布”,则我的 css 被权限阻止。如果我设置为“调试”,我的网站会正确加载。 ...奇怪。
  • 现在是 2020 年,解决方案仍然像刀切黄油一样奏效......我为此苦苦挣扎了一段时间
【解决方案3】:

为了澄清一些事情,System.Web.Optimization(又名捆绑/缩小)将适用于 4.0。它不依赖于4.5中的任何东西,所以那里应该没有问题。

如果脚本捆绑工作正常,并且它只是 CSS 的问题,那么问题可能出在相对 URL 上?

我会首先查看呈现的页面,看看您是否获得了对 CSS 包的引用,即类似以下内容:

<link href="/app/Content/css?v=oI5uNwN5NWmYrn8EXEybCI" rel="stylesheet"/>

如果你是,那么捆绑是有效的,但是你的 CSS 捆绑中的某些东西被搞砸了。这通常是由于您的 CSS 包中的相对 URL 不正确,即如果您的图像位于 ~/Content 下,但您将包命名为 ~/bundles/css,浏览器将错误地在 ~/bundles 下查找图像。

此外,默认行为是在debug=true 时禁用捆绑和缩小。因此,如果您确实希望在 debug=true 时也启用优化,则需要强制:

BundleTable.EnableOptimizations = true

更新:有了 v="" 的新信息,这意味着捆绑包是空的,您应该验证您正在正确地将文件添加到捆绑包中,并且它找到了它们。您如何将文件包含到捆绑包中?

【讨论】:

  • 我在生成的链接中没有得到v= 后面的号码。
  • 这通常表明您的捆绑包未正确注册。仔细检查您是否确实添加了一个以“~/app/Content/css”作为 BundleTables.Bundles 路径的 Bundle。
  • 我更新了我的答案,基本上你需要看看你的包里有什么,它几乎肯定是空的,或者只包含空文件。
  • 我的 bundle/mini 一直有效,直到我在 bundle 方法中添加了更多的 CSS。在那之后,我得到了这个 v=@#$$#%#$ 的故事。只有当有确凿的资源识别它时,这里的解释才能正确。我的问题仍然存在,以上(在此评论之前)都不起作用。
【解决方案4】:

省略 runAllManagedModulesForAllRequests="true" 也对我有用。在web.config中添加如下配置:

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

runAllManagedModulesForAllRequests 如果使用不当,将对您的网站造成性能影响。查看this article

【讨论】:

    【解决方案5】:

    要考虑的另一件事是引用不能具有相同的名称。例如,如果您在 libraries 目录中有 jQuery UI,并像这样捆绑它的 JavaScript 文件:

    bundles.Add(new ScriptBundle("~/libraries").Include("~/libraries/jquery-ui/jqyery-ui.js"));
    

    然后尝试像这样捆绑它的 CSS 文件:

    bundles.Add(new StyleBundle("~/libraries").Include("~/libraries/jquery-ui/jqyery-ui.css"));
    ...
    

    它会失败。他们必须有唯一的名字。因此,请执行 ScriptBundle("~/libraries/js")...ScriptBundle("~/libraries/css")... 之类的操作。

    【讨论】:

      【解决方案6】:

      作为现有答案的附录,其中没有一个对我有用,我在这里找到了我的解决方案:

      https://bundletransformer.codeplex.com/discussions/429707

      解决办法是

      1. 右键单击 Visual Studio 中的 .less 文件
      2. 选择属性
      3. Build Action标记为Content
      4. 重新部署

      我不需要删除无扩展处理程序(可以在互联网上的其他解决方案中找到)

      我不必添加&lt;add name="BundleModule" type="System.Web.Optimization.BundleModule" /&gt; web.config 设置。

      希望这会有所帮助!

      【讨论】:

        【解决方案7】:

        我在实时环境中遇到了与 CSS 相同的问题。我遵循了这里的所有建议,并调查了捆绑在幕后的工作方式。这导致我请求清除 .Net 缓存(我无权访问应用服务器),这导致捆绑开始在应用服务器上运行。但是,当通过配置了 CDN 的负载均衡器访问站点时,尽管在 url 中更新了捆绑包标识符,但捆绑包包含旧的 CSS。只需刷新 CDN 即可解决问题。

        我希望这对可能遇到这种情况的其他人有所帮助

        【讨论】:

          【解决方案8】:

          我的一个 css 文件的文件名中有一个“_”字符,导致出现问题。

          将 your_style.css 重命名为 yourstyle.css

          【讨论】:

            【解决方案9】:

            我知道这是一个老问题,但人们可能仍然会面临这个问题。

            以下检查 BundleModule 是否存在于 web.config 中并已加载, 并根据其存在设置 EnableOptimizations。

            这样无论是否可用,css/js 引用都可以正常工作。 换句话说:

            • 如果 BundleModule 可用,将启用捆绑/优化。

            • 如果 BundleModule 不可用,捆绑/优化将被禁用并自动使用完整引用

            代码:

            public static void RegisterBundles(BundleCollection bundles)
            {
               // bundeling code here
               // ...
               // bundeling code here
            
               bool bundelingModuleIsAvailable = false;
               try { 
                   bundelingModuleIsAvailable = HttpContext.Current.ApplicationInstance.Modules.AllKeys.Contains("BundleModule"); 
               }
               catch { }
               if (!bundelingModuleIsAvailable)
                   System.Diagnostics.Debug.WriteLine("WARNING : optimization bundle is not added to Web.config!");
            
               BundleTable.EnableOptimizations = bundelingModuleIsAvailable && !Debug_CheckIsRunning();
               //Debug_CheckIsRunning is optional, incase you want to disable optimization when debugging yourself
               BundleTable.EnableOptimizations = true;
            }
            
            private bool Debug_CheckIsRunning()
            {//Check if debug is running
                string moduleName = System.Diagnostics.Process.GetCurrentProcess().MainModule.ModuleName;
                return (moduleName.Contains("iisexpress.exe") || moduleName.Contains(".vshost") || moduleName.Contains("vstest.executionengine") || moduleName.Contains("WebDev.WebServer"));
                }
            

            【讨论】:

              【解决方案10】:

              只是为了历史:

              检查包中所有提到的less/css 文件是否具有Build Action = "Content"。

              如果目标服务器上缺少捆绑包中的某些文件,则没有错误。

              【讨论】:

                【解决方案11】:

                我遇到了同样的问题,结果证明是一个愚蠢的错误,css 文件未包含在项目中,因此未发布,请确保查看解决方案中的所有文件并将它们添加到项目中。

                【讨论】:

                  【解决方案12】:

                  我在 Azure 网站中部署代码时遇到了这个问题。当我从 visualstudio.com 部署构建时它确实有效,而当我尝试从 Visual Studio 2013 发布构建时却没有。主要问题是 CSS 缩小。我完全同意对这个问题的第一个回答。但想到共享对我有用的解决方案,可能会帮助您修复它。

                  基本上,当我们通过 VSO 部署时,它会通过启动 system.web.Optimization 为 css、js 生成缩小文件,但是当我们从 VS 2013 发布构建时,我们必须注意以下事项。 bundling-and-minification 1. 确保文件夹结构和您的捆绑程序命名约定应该不同。像这样的。

                  bundles.Add(new StyleBundle("~/Content/materialize/mcss").Include(
                                    "~/Content//materialize/css/materialize.css"));
                  

                  2。在你的 bundleconfig 定义的底部添加

                  public static void RegisterBundles(BundleCollection bundles)
                  {
                    bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
                               "~/Scripts/jquery-{version}.js"));
                  
                     // Code removed for clarity.
                     BundleTable.EnableOptimizations = true;
                  }
                  

                  3。确保在 web.config 中添加 debug false (当您开始本地调试时,VS2013 会弹出一个提示,说您需要确保在部署到 prod 之前将其放回原处。这本身就说明了很多。

                  <system.web>
                    <compilation debug="true" />
                    <!-- Lines removed for clarity. -->
                  </system.web>
                  

                  【讨论】:

                    【解决方案13】:

                    在 Visual Studio 2015 中,我发现问题是由于在 web.config 中设置了 debug=true 时在 BundleConfig 中引用了 .min 版本的 javascript 文件引起的。

                    例如,使用 jquery 在 BundleConfig 中指定以下内容:

                    bundles.Add(new ScriptBundle("~/bundles/jquery").Include("~/Scripts/jquery-{version}.min.js"));
                    

                    导致在 web.config 中设置 debug=true 时 jquery 根本无法正确加载。

                    引用未缩小的版本:

                    bundles.Add(new ScriptBundle("~/bundles/jquery").Include("~/Scripts/jquery-{version}.js"));
                    

                    纠正问题。

                    设置 debug=false 也可以解决问题,但这当然不是很有帮助。

                    还值得注意的是,虽然一些缩小的 javascript 文件正确加载,而另一些则没有。我最终删除了所有缩小的 javascript 文件,以支持 VS 为我处理缩小。

                    【讨论】:

                      【解决方案14】:

                      试试这个:

                          @System.Web.Optimization.Styles.Render("~/Content/css")
                          @System.Web.Optimization.Scripts.Render("~/bundles/modernizr")
                      

                      它对我有用。 我还在学习,我还没弄明白为什么会这样

                      【讨论】:

                        【解决方案15】:

                        为了在对话中添加有用的信息,我在部署中遇到了我的包的 404 错误(在本地开发环境中很好)。

                        对于捆绑包名称,我包括这样的版本号:

                        bundles.Add(new ScriptBundle("~/bundles/jquerymobile.1.4.3").Include(
                        ...
                        );
                        

                        一时兴起,我删除了所有的点,一切又神奇地工作了:

                        bundles.Add(new ScriptBundle("~/bundles/jquerymobile143").Include(
                        ...
                        );
                        

                        希望这可以帮助某人节省一些时间和挫败感。

                        【讨论】:

                          【解决方案16】:

                          我在从 nuget 添加一些包时遇到了这个问题,忘记更新了

                          所以首先更新项目中安装的所有包

                          Update-Package
                          

                          在 Global.asax.cs 添加以下内容

                          BundleTable.EnableOptimizations = true;
                          

                          【讨论】:

                            【解决方案17】:

                            css 名称必须一致。

                            jqueryUI css 的名称不是 Contents/themes/base 文件夹中的“jquery.ui.XXX”。

                            应该是这样的:

                            错误:

                                        bundles.Add(new StyleBundle("~/Content/themes/base/css").Include(
                                                                "~/Content/themes/base/jquery.ui.core.css",
                                                                "~/Content/themes/base/jquery.ui.resizable.css",
                                                                "~/Content/themes/base/jquery.ui.selectable.css",
                                                                "~/Content/themes/base/jquery.ui.accordion.css",
                                                                "~/Content/themes/base/jquery.ui.autocomplete.css",
                                                                "~/Content/themes/base/jquery.ui.button.css",
                                                                "~/Content/themes/base/jquery.ui.dialog.css",
                                                                "~/Content/themes/base/jquery.ui.slider.css",
                                                                "~/Content/themes/base/jquery.ui.tabs.css",
                                                                "~/Content/themes/base/jquery.ui.datepicker.css",
                                                                "~/Content/themes/base/jquery.ui.progressbar.css",
                                                                "~/Content/themes/base/jquery.ui.theme.css"));
                            

                            正确:

                                        bundles.Add(new StyleBundle("~/Bundles/themes/base/css").Include(
                                                                "~/Content/themes/base/core.css",
                                                                "~/Content/themes/base/resizable.css",
                                                                "~/Content/themes/base/selectable.css",
                                                                "~/Content/themes/base/accordion.css",
                                                                "~/Content/themes/base/autocomplete.css",
                                                                "~/Content/themes/base/button.css",
                                                                "~/Content/themes/base/dialog.css",
                                                                "~/Content/themes/base/slider.css",
                                                                "~/Content/themes/base/tabs.css",
                                                                "~/Content/themes/base/datepicker.css",
                                                                "~/Content/themes/base/progressbar.css",
                                                                "~/Content/themes/base/theme.css"));
                            

                            我在MVC5中试了一下,成功了。

                            【讨论】:

                              【解决方案18】:

                              您需要在共享视图中添加此代码

                               @*@Scripts.Render("~/bundles/plugins")*@
                                  <script src="/Content/plugins/jQuery/jQuery-2.1.4.min.js"></script>
                                  <!-- jQuery UI 1.11.4 -->
                                  <script src="https://code.jquery.com/ui/1.11.4/jquery-ui.min.js"></script>
                                  <!-- Kendo JS -->
                                  <script src="/Content/kendo/js/kendo.all.min.js" type="text/javascript"></script>
                                  <script src="/Content/kendo/js/kendo.web.min.js" type="text/javascript"></script>
                                  <script src="/Content/kendo/js/kendo.aspnetmvc.min.js"></script>
                                  <!-- Bootstrap 3.3.5 -->
                                  <script src="/Content/bootstrap/js/bootstrap.min.js"></script>
                                  <!-- Morris.js charts -->
                                  <script src="https://cdnjs.cloudflare.com/ajax/libs/raphael/2.1.0/raphael-min.js"></script>
                                  <script src="/Content/plugins/morris/morris.min.js"></script>
                                  <!-- Sparkline -->
                                  <script src="/Content/plugins/sparkline/jquery.sparkline.min.js"></script>
                                  <!-- jvectormap -->
                                  <script src="/Content/plugins/jvectormap/jquery-jvectormap-1.2.2.min.js"></script>
                                  <script src="/Content/plugins/jvectormap/jquery-jvectormap-world-mill-en.js"></script>
                                  <!-- jQuery Knob Chart -->
                                  <script src="/Content/plugins/knob/jquery.knob.js"></script>
                                  <!-- daterangepicker -->
                                  <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.2/moment.min.js"></script>
                                  <script src="/Content/plugins/daterangepicker/daterangepicker.js"></script>
                                  <!-- datepicker -->
                                  <script src="/Content/plugins/datepicker/bootstrap-datepicker.js"></script>
                                  <!-- Bootstrap WYSIHTML5 -->
                                  <script src="/Content/plugins/bootstrap-wysihtml5/bootstrap3-wysihtml5.all.min.js"></script>
                                  <!-- Slimscroll -->
                                  <script src="/Content/plugins/slimScroll/jquery.slimscroll.min.js"></script>
                                  <!-- FastClick -->
                                  <script src="/Content/plugins/fastclick/fastclick.min.js"></script>
                                  <!-- AdminLTE App -->
                                  <script src="/Content/dist/js/app.min.js"></script>
                                  <!-- AdminLTE for demo purposes -->
                                  <script src="/Content/dist/js/demo.js"></script>
                                  <!-- Common -->
                                  <script src="/Scripts/common/common.js"></script>
                                  <!-- Render Sections -->
                                  @RenderSection("scripts", required: false)
                                  @RenderSection("HeaderSection", required: false)
                              

                              【讨论】:

                                【解决方案19】:

                                这解决了我的问题。我在 _layout.cshtml 中添加了这些行

                                @*@Scripts.Render("~/bundles/plugins")*@
                                <script src="/Content/plugins/jQuery/jQuery-2.1.4.min.js"></script>
                                <!-- jQuery UI 1.11.4 -->
                                <script src="https://code.jquery.com/ui/1.11.4/jquery-ui.min.js"></script>
                                <!-- Kendo JS -->
                                <script src="/Content/kendo/js/kendo.all.min.js" type="text/javascript"></script>
                                <script src="/Content/kendo/js/kendo.web.min.js" type="text/javascript"></script>
                                <script src="/Content/kendo/js/kendo.aspnetmvc.min.js"></script>
                                <!-- Bootstrap 3.3.5 -->
                                <script src="/Content/bootstrap/js/bootstrap.min.js"></script>
                                <!-- Morris.js charts -->
                                <script src="https://cdnjs.cloudflare.com/ajax/libs/raphael/2.1.0/raphael-min.js"></script>
                                <script src="/Content/plugins/morris/morris.min.js"></script>
                                <!-- Sparkline -->
                                <script src="/Content/plugins/sparkline/jquery.sparkline.min.js"></script>
                                <!-- jvectormap -->
                                <script src="/Content/plugins/jvectormap/jquery-jvectormap-1.2.2.min.js"></script>
                                <script src="/Content/plugins/jvectormap/jquery-jvectormap-world-mill-en.js"></script>
                                <!-- jQuery Knob Chart -->
                                <script src="/Content/plugins/knob/jquery.knob.js"></script>
                                <!-- daterangepicker -->
                                <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.2/moment.min.js"></script>
                                <script src="/Content/plugins/daterangepicker/daterangepicker.js"></script>
                                <!-- datepicker -->
                                <script src="/Content/plugins/datepicker/bootstrap-datepicker.js"></script>
                                <!-- Bootstrap WYSIHTML5 -->
                                <script src="/Content/plugins/bootstrap-wysihtml5/bootstrap3-wysihtml5.all.min.js"></script>
                                <!-- Slimscroll -->
                                <script src="/Content/plugins/slimScroll/jquery.slimscroll.min.js"></script>
                                <!-- FastClick -->
                                <script src="/Content/plugins/fastclick/fastclick.min.js"></script>
                                <!-- AdminLTE App -->
                                <script src="/Content/dist/js/app.min.js"></script>
                                <!-- AdminLTE for demo purposes -->
                                <script src="/Content/dist/js/demo.js"></script>
                                <!-- Common -->
                                <script src="/Scripts/common/common.js"></script>
                                <!-- Render Sections -->
                                

                                【讨论】:

                                  【解决方案20】:

                                  我有同样的问题。我只是转换

                                  @Styles.Render("~/Content/css")
                                  and @Scripts.Render("~/bundles/modernizr") to 
                                      @Styles.Render("/Content/css")
                                      @Scripts.Render("/bundles/modernizr")
                                  

                                  它的工作。 只是不要忘记转换

                                     @Scripts.Render("~/bundles/jquery")
                                      @Scripts.Render("~/bundles/bootstrap")
                                  to 
                                      @Scripts.Render("/bundles/jquery")
                                      @Scripts.Render("/bundles/bootstrap")
                                  

                                  玩得开心

                                  【讨论】:

                                  • 你在这里什么都没做。
                                  • 他去掉了包名前缀的“~”符号:)
                                  猜你喜欢
                                  • 1970-01-01
                                  • 2012-07-16
                                  • 1970-01-01
                                  • 1970-01-01
                                  • 2020-12-27
                                  • 1970-01-01
                                  • 1970-01-01
                                  • 2011-08-06
                                  • 2021-05-21
                                  相关资源
                                  最近更新 更多