BundleConfig.csをプロジェクトに追加するにはどうすればよいですか?


96

私はASP.Net MVCプロジェクトを持っていると私はバンドルを実装したいが、私はインターネット上で見つけることができるすべてが開くように私に指示BundleConfig.csApp_Start-しかし、このファイルは私のプロジェクトに存在しません。そのフォルダにはFilterConfigRouteConfigとの3つのファイルしかありませんWebApiConfig

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

これは本当に簡単なことのようですが、私にはわかりません。

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


これはASP.NET 4.5プロジェクトテンプレートにのみ含まれているため、見つかりません。以前のバージョンのASP.NETを使用していると思います。
Jason Roell 2014


2
@リアム・ノープ。質問に明記されているように、これはMVC3から変換されたのではなく、新しく作成されたアプリに関するものです。また、BundleConfig.csファイルを追加する方法についても明確です。System.Web.Optimizationへの参照を追加する方法ではありません(この質問のシナリオではまったく不要なものです)。私はあなたがまったく別の質問にコメントしようとしていたと思います。
マーベリック

@リアム-実際には、おそらく「Microsoft.AspNet.Web.Optimization nugetパッケージをWebプロジェクトに追加する」というステップが含まれる回答に混乱している可能性がありますが、これは上記の問題の解決策の一部ではありませんでした。解決策は、BundleConfig.csファイルを追加することでした。私は答えのコメントでこれを言いました...しかし、そのコメント(および答えのその他すべて)は消えたようです。
マーベリック

回答:


167

BundleConfigバンドル構成を別のファイルに移動しただけです。以前はアプリ起動コードの一部でした(1つのクラスで構成するために使用されるフィルター、バンドル、ルート)

このファイルを追加するには、最初にMicrosoft.AspNet.Web.OptimizationnugetパッケージをWebプロジェクトに追加する必要があります。

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()in への呼び出しを追加しますApplication_Start()

using System.Web.Optimization;

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

密接に関連した質問:MVC-3-converted-to-4アプリのSystem.Web.Optimizationへの参照を追加する方法


2
nugetはこれのボイラープレートバージョンを追加する必要があります。
niico 2016年

1

「MVC 5」を使用している場合、ファイルが表示されないことがあります。次の手順に従ってください。http//www.techjunkieblog.com/2015/05/aspnet-mvc-empty-project-adding.html

「ASP.NET 5」を使用している場合、代わりに「バンドルとミニファイ」の使用が中止され、gulp、bower、npmに置き換えられました。詳細については、https://jeffreyfritz.com/2015/05/where-did-my-asp-net-bundles-go-in-asp-net-5/を参照してください

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.