web-dev-qa-db-ja.com

既存のASP.NET Webformsソリューションへのバンドルの追加

既存のASP.NET Webformsソリューションにバンドルを追加しようとしていますが、バンドルが常に空になり、その理由がわかりません。 このブログ投稿 をフォローしています。

これまでのところ:

  • Microsoft ASP.NET Web Optimization Framework NuGetパッケージを追加しました
  • 必要な参照が含まれていることを確認
  • Web.configでdebug = "false"およびdebug = "true"を使用してみました
  • ソリューションに次のコードを追加しました

Global.asax.cs

protected void Application_Start(object sender, EventArgs e)
{
    BundleConfig.RegisterBundles(BundleTable.Bundles);
}

App_Start/BundleConfig.cs

public class BundleConfig
{
    // For more information on Bundling, visit http://go.Microsoft.com/fwlink/?LinkID=303951
    public static void RegisterBundles(BundleCollection bundles)
    {
        bundles.Add(new ScriptBundle("~/bundles/Global").Include(
            "~/js/jquery-{version}.js",
            "~/js/jquery-ui.js"));

        bundles.Add(new ScriptBundle("~/bundles/GlobalHead").Include(
            "~/js/modernizr*"));

        bundles.Add(new StyleBundle("~/Content/Global").Include(
            "~/css/site.css"));
    }
}

Site.Master

<head runat="server">
    <asp:PlaceHolder runat="server">
        <%: Scripts.Render("~/bundle/GlobalHead") %>
        <%: Styles.Render("~/Content/Global") %>
    </asp:PlaceHolder>
</head>
<body>
    <%: Scripts.Render("~/bundle/Global") %>
</body>

Web.Config

<namespaces>
    <add namespace="System.Web.Optimization" />
</namespaces>

更新

明確にするために、Webページを開いてchrome devツールでリソースを調べると、

Content/Site.css
bundle/Global.js
bundle/GlobalHead.js

しかし、それらを検査するとき、彼らは内容を持っていません。

35
Joe

簡単な解決策、いくつかのタイプミスがありました。

Site.Masterで、バンドルの最後の「s」を見逃しました。 Site.Masterをこのように見せます。

<head runat="server">
    <asp:PlaceHolder runat="server">
        <%: Scripts.Render("~/bundles/GlobalHead") %>
        <%: Styles.Render("~/Content/Global") %>
    </asp:PlaceHolder>
</head>
<body>
    <%: Scripts.Render("~/bundles/Global") %>
</body>
25
Joe