Comment ajouter BundleConfig.cs à mon projet?

j'ai un ASP.Net MVC project et moi voulons mettre en place le bundling, mais tout ce que je peux trouver sur internet me dirige à ouvrir BundleConfig.cs dans App_Start - cependant ce fichier n'existe pas dans mon projet. Je n'ai que trois fichiers dans ce dossier: FilterConfig , RouteConfig et WebApiConfig .

Bundle config n'a pas été généré lorsque j'ai créé la solution (IIRC it was a blank ASP.NET MVC au début).

il semble que ce doit être vraiment facile à faire, mais j'ai simplement ne peut pas le comprendre.

P. S. juste pour clarifier à ceux qui ne lisent pas de près, c'est pour une application MVC4/.net 4.5 créée à partir de zéro. La solution est marqué ci-dessous.

84
demandé sur Luke Girvin 2014-02-10 06:44:19

2 réponses

BundleConfig n'est rien de plus qu'une configuration de paquet déplacée dans un fichier séparé. Il sert à être une partie de l'application code de démarrage (filtres, les faisceaux, les itinéraires utilisés pour être configuré dans une classe)

pour ajouter ce fichier, vous devez d'abord ajouter le paquet nuget Microsoft.AspNet.Web.Optimization à votre projet web:

Install-Package Microsoft.AspNet.Web.Optimization

puis sous le dossier App_Start créer un nouveau fichier cs appelé BundleConfig.cs . Voici ce que j'ai dans ma mine (ASP.NET MVC 5, mais ça devrait marcher. avec 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"));
        }
    }
}

alors modifiez votre Global.asax et Ajouter un appel à RegisterBundles() dans Application_Start() :

using System.Web.Optimization;

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

une question étroitement liée: comment ajouter une référence au système.Web.Optimisation pour MVC-3-converti à 4 app

147
répondu vmg 2017-05-23 12:02:51

si vous utilisez "MVC 5" vous ne pouvez pas voir le fichier, et vous devez suivre ces étapes: http://www.techjunkieblog.com/2015/05/aspnet-mvc-empty-project-adding.html

Si vous utilisez "ASP.NET 5" il a arrêté d'utiliser "le regroupement et la minification" la place a été remplacé par gorgée, bower, et npm. Plus d'informations voir https://jeffreyfritz.com/2015/05/where-did-my-asp-net-bundles-go-in-asp-net-5/

1
répondu Cesar Alvarado Diaz 2018-07-27 17:13:55