如何将BundleConfig.cs添加到我的项目中?

我有一个ASP.Net MVC项目,我想实现捆绑,但是我可以在互联网上find的所有东西都指向我在App_Start打开BundleConfig.cs ,但是这个文件在我的项目中不存在。 我在该文件夹中只有三个文件: FilterConfigRouteConfigWebApiConfig

当我创build解决scheme(IIRC它是一个空白的ASP.NET MVC项目在开始)时没有生成捆绑configuration。

这似乎应该是很容易做,但我只是普通不能弄明白。

PS只是为了澄清那些不仔细阅读,这是从头开始创build一个MVC4 / .Net 4.5应用程序。 解决scheme标记如下。

BundleConfig无非是捆绑configuration移动到单独的文件。 它曾经是应用程序启动代码的一部分(filter,包,用于在一个类中configuration的路由)

要添加此文件,首先需要将Microsoft.AspNet.Web.Optimization nuget包添加到您的Web项目中:

 Install-Package Microsoft.AspNet.Web.Optimization 

然后在App_Start文件夹下创build一个名为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,并在Application_Start()添加对RegisterBundles()的调用:

 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”,那么他会停止使用“bundling and minification”,而不是被gulp,bower和npm所取代。 更多信息请参阅http://www.jeffreyfritz.com/2015/05/where-did-my-asp-net-bundles-go-in-asp-net-5/