1. ホーム
  2. asp.net-mvc

[解決済み] BundleConfig.csをプロジェクトに追加するには?

2022-12-14 18:40:56

質問

ASP.Net MVC のプロジェクトで、バンドル機能を実装したいのですが、インターネットで調べたところでは、すべて BundleConfig.csApp_Start - の中にあるのですが、このファイルは私のプロジェクトには存在しません。私はそのフォルダに3つのファイルしか持っていません。 FilterConfig , RouteConfigWebApiConfig .

バンドル構成は、ソリューションを作成したときに生成されませんでした (IRCでは、最初は空のASP.NET MVCプロジェクトでした)。

これは本当に簡単にできるように思われますが、どうしてもわかりません。

追伸: よく読んでいない人に明確にするために、これはゼロから作成された MVC4/.Net 4.5 アプリのためのものです。解決策は以下に示されています。

どのように解決するのですか?

BundleConfig は、バンドル設定を別のファイルに移動したものに過ぎません。以前はアプリの起動コードの一部でした (フィルタ、バンドル、ルートは 1 つのクラスで設定されていました)。

このファイルを追加するには、最初に Microsoft.AspNet.Web.Optimization nuget パッケージをあなたのウェブプロジェクトに追加します。

Install-Package Microsoft.AspNet.Web.Optimization

次に、App_Start フォルダの下に、次のような新しい cs ファイルを作成します。 BundleConfig.cs . これは私のものです(ASP.NET MVC 5、しかしそれはMVC 4で動作するはずです)。

using System.Web;
using System.Web.Optimization;

namespace CodeRepository.Web
{
    public class BundleConfig
    {
        // For more information on bundling, visit http://go.microsoft.com/fwlink/?LinkId=301862
        public static void RegisterBundles(BundleCollection bundles)
        {
            bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
                        "~/Scripts/jquery-{version}.js"));

            bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
                        "~/Scripts/jquery.validate*"));

            // Use the development version of Modernizr to develop with and learn from. Then, when you're
            // ready for production, use the build tool at http://modernizr.com to pick only the tests you need.
            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/site.css"));
        }
    }
}

次に、Global.asax を変更し、その中に RegisterBundles() を追加します。 Application_Start() :

using System.Web.Optimization;

protected void Application_Start()
{
    AreaRegistration.RegisterAllAreas();
    RouteConfig.RegisterRoutes(RouteTable.Routes);
    BundleConfig.RegisterBundles(BundleTable.Bundles);
}

密接に関連した質問です。 どのようにMVC-3から4への変換されたアプリのSystem.Web.Optimizationへの参照を追加するには?