Bezdepbonusu7Программирование: статьи и ответы

Вопрос

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

Автор вопроса: MaverickОтветов: 2

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

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

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

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

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

visual-studio-2013

Ответы

Ответ 1 · рейтинг 176 · vmg

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< /эм>а>

Ответ 2 · рейтинг 1 · Cesar Alvarado Diaz

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

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы