既存のASP.NET Webformsソリューションにバンドルを追加しようとしていますが、バンドルが常に空になり、その理由がわかりません。 このブログ投稿 をフォローしています。
これまでのところ:
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
しかし、それらを検査するとき、彼らは内容を持っていません。
簡単な解決策、いくつかのタイプミスがありました。
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>