BundleConfig.cs'yi projeme nasıl eklerim?


98

Ben bir ASP.Net MVC proje var ve donatılacak uygulamak istiyorum ama internette bulabileceğiniz her şey açmamı yönlendirir BundleConfig.csiçinde App_Start- ancak bu dosya benim projede yok. Ben o klasördeki sadece üç dosyaları var: FilterConfig, RouteConfigve WebApiConfig.

Çözümü oluşturduğumda paket yapılandırması oluşturulmadı (IIRC, başlangıçta boş bir ASP.NET MVC projesiydi).

Bunu yapmak gerçekten kolay olmalı gibi görünüyor, ama ben bunu çözemiyorum.

Not: Sadece yakından okumayanlara açıklık getirmek için, bu sıfırdan oluşturulmuş bir MVC4 / .Net 4.5 uygulaması içindir. Çözüm aşağıda işaretlenmiştir.


Bulamazsınız çünkü bu yalnızca ASP.NET 4.5 proje şablonlarına dahildir. ASP.NET'in önceki bir sürümünü kullandığınızı varsayıyorum.
Jason Roell


2
@Liam Hayır. O gibi açıkça söz konusu devletler, bu MVC3 dönüştürülmemiş yeniden oluşturulan bir uygulamayı, ilgili. Aynı zamanda oldukça açık bir şekilde BundleConfig.cs dosyasının nasıl ekleneceği ile ilgilidir - System.Web.Optimization'a (bu sorunun senaryosunda tamamen gereksiz olan bir şey) nasıl referans ekleneceği değil. Tamamen farklı bir soru hakkında yorum yapmaya çalıştığınızı varsaymalıyım.
Maverick

@Liam - aslında, yukarıdaki sorunun çözümünün bir parçası olmayan "Microsoft.AspNet.Web.Optimization nuget paketini web projenize ekleyin" adımını içeren yanıtla kafanızın karıştığını görüyorum . Çözüm, BundleConfig.cs dosyasını eklemekti. Bunu cevapla ilgili bir yorumda söyledim ... ama bu yorum (ve yanıttaki tüm diğerleri) kaybolmuş görünüyor.
Maverick

Yanıtlar:


170

BundleConfigayrı bir dosyaya taşınan paket yapılandırmasından başka bir şey değildir. Uygulama başlangıç ​​kodunun bir parçasıydı (filtreler, paketler, tek bir sınıfta yapılandırılmak için kullanılan yollar)

Bu dosyayı eklemek için önce Microsoft.AspNet.Web.Optimizationnuget paketini web projenize eklemeniz gerekir :

Install-Package Microsoft.AspNet.Web.Optimization

Daha sonra App_Start klasörü altında adlı yeni bir cs dosyası oluşturun BundleConfig.cs. İşte benimkinde sahip olduğum şey (ASP.NET MVC 5, ancak MVC 4 ile çalışması gerekir):

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"));
        }
    }
}

Ardından Global.asax değiştirmek ve bir çağrı ekleyin RegisterBundles()içinde Application_Start():

using System.Web.Optimization;

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

Yakından ilgili bir soru: MVC-3'e dönüştürülen uygulama için System.Web.Optimization'a nasıl başvuru eklenir


2
nuget bunun standart bir versiyonunu eklemelidir.
niico

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.