मैं अपने प्रोजेक्ट में बंडलकॉन्फ़िग्स कैसे जोड़ूं?


96

मेरे पास ASP.Net MVC परियोजना है और मैं बंडलिंग को लागू करना चाहता हूं, लेकिन इंटरनेट पर जो कुछ भी मुझे मिल सकता है वह मुझे खोलने के लिए निर्देशित करता BundleConfig.csहै App_Start- हालांकि यह फ़ाइल मेरे प्रोजेक्ट में मौजूद नहीं है। मुझे लगता है कि फ़ोल्डर में केवल तीन फ़ाइलें: FilterConfig, RouteConfigऔर WebApiConfig

जब मैंने समाधान बनाया (तो IIRC यह एक रिक्त ASP.NET MVC प्रोजेक्ट था) शुरुआत में बंडल कॉन्फिगर नहीं हुआ।

ऐसा लगता है कि ऐसा करना वास्तव में आसान होना चाहिए, लेकिन मैं सिर्फ यह समझ नहीं पा रहा हूं।

PS बस बारीकी से न पढ़ने वालों को स्पष्ट करने के लिए, यह एक MVC4 / / .net 4.5 ऐप से बनाया गया है। समाधान नीचे चिह्नित है।


आप इसे नहीं पा सकते क्योंकि यह केवल ASP.NET 4.5 प्रोजेक्ट टेम्प्लेट में शामिल है। मुझे लगता है कि आप ASP.NET के पुराने संस्करण का उपयोग कर रहे हैं।
जेसन Roell


2
@ लियम नोप। जैसा कि यह स्पष्ट रूप से सवाल में बताता है, यह एक ऐप बनाया गया है जो नए सिरे से बनाया गया है, एमवीसी 3 से परिवर्तित नहीं है। यह भी बहुत स्पष्ट रूप से है कि बंडलकॉन्फ़िग.कैंस फ़ाइल को कैसे जोड़ा जाए - नहीं। कैसे System.Web.Optimization (इस प्रश्न के परिदृश्य में पूरी तरह से अनावश्यक है) के लिए एक संदर्भ जोड़ना है। मुझे लगता है कि आप एक अलग सवाल पर टिप्पणी करने की कोशिश कर रहे थे।
मेवरिक

@ लियम - वास्तव में, मैं देख रहा हूं कि शायद आप उत्तर से भ्रमित हो गए होंगे, जिसमें "Microsoft.AspNet.Web.Optimization nuget पैकेज को अपने वेब प्रोजेक्ट में शामिल करना" शामिल है जो उपरोक्त समस्या के समाधान का हिस्सा नहीं था । क्या समाधान था BandConfig.cs फ़ाइल को जोड़ना। मैंने जवाब में एक टिप्पणी में यह कहा था ... लेकिन वह टिप्पणी (और जवाब पर अन्य सभी) गायब हो गई लगती है।
मैवरिक

जवाबों:


167

BundleConfigबंडल कॉन्फ़िगरेशन से अलग फ़ाइल में ले जाने से अधिक कुछ नहीं है। यह ऐप स्टार्टअप कोड का हिस्सा हुआ करता था (फ़िल्टर, बंडल, एक कक्षा में कॉन्फ़िगर किए जाने वाले मार्ग)

इस फ़ाइल को जोड़ने के लिए, पहले आपको Microsoft.AspNet.Web.Optimizationअपने वेब प्रोजेक्ट में नगेट पैकेज जोड़ना होगा :

Install-Package Microsoft.AspNet.Web.Optimization

फिर App_Start फ़ोल्डर के तहत एक नई सीएस फाइल बनाएं जिसका नाम है 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);
}

एक करीबी संबंधित प्रश्न: MVC-3-Convert-to-4 ऐप के लिए System.Web.Optimization के संदर्भ को कैसे जोड़ा जाए


2
नगेट को इसमें एक बॉयलरप्लेट संस्करण जोड़ना चाहिए।
निको

1

यदि आप "MVC 5" का उपयोग कर रहे हैं तो आप फ़ाइल को नहीं देख सकते हैं, और आपको इन चरणों का पालन करना चाहिए: http://www.techjunkieblog.com/2015/05/aspnet-mvc-empty-project-adding.html

यदि आप "ASP.NET 5" का उपयोग कर रहे हैं, तो इसे "बंडलिंग और मिनिमाइज़ेशन" का उपयोग करना बंद कर दिया गया है, इसके बजाय गुल, बोवर और एनपीएम द्वारा प्रतिस्थापित किया गया था। अधिक जानकारी के लिए देखें https://Jffreyfritz.com/2015/05/where-did-my-asp-net-bundles-go-in-asp-net-5/

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.