ASP.Net MVCプロジェクトがあり、バンドルを実装したいのですが、インターネットで見つけられるものはすべて、BundleConfig.cs
をApp_Start
で開くように指示されますが、このファイルは私のプロジェクトには存在しません。そのフォルダーには、FilterConfig
、RouteConfig
、WebApiConfig
の3つのファイルしかありません。
ソリューションの作成時にバンドル構成は生成されませんでした(IIRCは最初は空のASP.NET MVCプロジェクトでした)。
これは本当に簡単にできるように思えますが、私はただそれを理解することはできません。
追伸よく読んでいない人に明確にするために、これはゼロから作成されたMVC4/.Net 4.5アプリ用です。以下に解決策を示します。
BundleConfig
は、個別のファイルに移動されたバンドル構成にすぎません。以前はアプリのスタートアップコードの一部でした(1つのクラスで構成されていたフィルター、バンドル、ルート)
このファイルを追加するには、最初にMicrosoft.AspNet.Web.Optimization
nugetパッケージをWebプロジェクトに追加する必要があります。
Install-Package Microsoft.AspNet.Web.Optimization
次に、App_Startフォルダーの下に、BundleConfig.cs
という新しい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-converted-to-4アプリのSystem.Web.Optimizationへの参照を追加する方法
「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/ を参照してください