Как добавить BundleConfig.cs в свой проект?

У меня есть проект ASP.Net MVC, и я хочу реализовать объединение, но все, что я могу найти в Интернете, указывает мне открыть BundleConfig.cs в App_Start, однако этот файл не существует в моем проекте. У меня в этой папке всего три файла: FilterConfig, RouteConfig и WebApiConfig.

Конфигурация пакета не была сгенерирована, когда я создал решение (IIRC вначале был пустым проектом ASP.NET MVC).

Кажется, что это должно быть очень легко сделать, но я просто не могу понять это.

P.S. Просто чтобы уточнить для тех, кто не читает внимательно, это для приложения MVC4/.Net 4.5, созданного с нуля. Решение отмечено ниже.


person Maverick    schedule 10.02.2014    source источник
comment
Вы не можете найти его, потому что он включен только в шаблоны проектов ASP.NET 4.5. Я предполагаю, что вы используете более раннюю версию ASP.NET.   -  person Jason Roell    schedule 10.02.2014
comment
comment
@Лиам Нет. Как ясно указано в вопросе, речь идет о приложении, созданном заново, а не преобразованном из MVC3. Также довольно ясно, как добавить файл BundleConfig.cs, а не как добавить ссылку на System.Web.Optimization (что совершенно не нужно в сценарии этого вопроса). Я должен предположить, что вы пытались прокомментировать совершенно другой вопрос.   -  person Maverick    schedule 21.10.2015
comment
@Liam - на самом деле, я вижу, возможно, вас смутил ответ, который включает в себя шаг добавления пакета nuget Microsoft.AspNet.Web.Optimization в ваш веб-проект, который не был частью решения к вышеуказанной проблеме. Решение заключалось в добавлении файла BundleConfig.cs. Я сказал это в комментарии к ответу... но этот комментарий (и все остальные в ответе), похоже, исчез.   -  person Maverick    schedule 21.10.2015


Ответы (2)


BundleConfig — это не что иное, как конфигурация пакета, вынесенная в отдельный файл. Раньше это было частью кода запуска приложения (фильтры, пакеты, маршруты настраивались в одном классе)

Чтобы добавить этот файл, сначала вам нужно добавить пакет 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);
}

Тесно связанный вопрос: Как добавить ссылку на System.Web.Optimization для приложения MVC-3-converted-to-4< /эм>

person vmg    schedule 10.02.2014
comment
nuget должен добавить стандартную версию этого. - person niico; 19.06.2016

Если вы используете «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/

person Cesar Alvarado Diaz    schedule 03.07.2016