2012-03-08 16 views
11

मैं एमवीसी के लिए नया हूं इसलिए सोचा कि मैं एक नई परियोजना शुरू करूंगा और एमवीसी 4 में कुछ नई सुविधाओं को आजमाउंगा। मेरे पास Content निर्देशिका, normalise_mini और site.css में दो सीएसएस फ़ाइलें हैं। जब मैं निम्नलिखित कोड का उपयोग करें:संकल्प BundleUrl सभी फ़ाइलों को हल नहीं कर रहा है?

<link href="@System.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl("~/Content/css")" rel="stylesheet" type="text/css" /> 

यह केवल मेरी site.css फ़ाइल नहीं मेरी सामान्य फ़ाइल लेता है। मैं अपने ऐप शुरू में निम्नलिखित है:

protected void Application_Start() 
{ 

    // Remove all other view engines except razor: 
    ViewEngines.Engines.Clear(); 
    ViewEngines.Engines.Add(new RazorViewEngine()); 

    AreaRegistration.RegisterAllAreas(); 

    RegisterGlobalFilters(GlobalFilters.Filters); 
    RegisterRoutes(RouteTable.Routes); 

    BundleTable.Bundles.RegisterTemplateBundles(); 
    BundleTable.Bundles.EnableDefaultBundles(); 
} 

मैं (के रूप में this व्यक्ति कर रहा है) प्रत्येक सीएसएस फ़ाइल के लिए एक समूह बनाने की सुविधा की जरूरत है? या यह सिर्फ सभी सीएसएस फ़ाइलों को स्वचालित रूप से ढूंढना चाहिए (जो मैं डिफ़ॉल्ट व्यवहार होने की उम्मीद करता हूं)। कि मैं एक खाली वेबसाइट उस्तरा दृश्य इंजन पर आधारित के रूप में इस परियोजना (जो वास्तव में बिल्कुल भी खाली नहीं था: /) शुरू कर दिया यह ध्यान देने योग्य हो सकता है

अग्रिम धन्यवाद


अद्यतन

पोस्ट किए गए लिंक के मुताबिक, मुझे उस टेम्पलेट बंडल को पंजीकृत करने वाली लाइन पर टिप्पणी करने की आवश्यकता है। उदाहरण:

protected void Application_Start() 
{ 

    // Remove all other view engines except razor: 
    ViewEngines.Engines.Clear(); 
    ViewEngines.Engines.Add(new RazorViewEngine()); 

    AreaRegistration.RegisterAllAreas(); 

    RegisterGlobalFilters(GlobalFilters.Filters); 
    RegisterRoutes(RouteTable.Routes); 

    //BundleTable.Bundles.RegisterTemplateBundles(); // This is not needed 
    BundleTable.Bundles.EnableDefaultBundles(); 
} 

यह अब काम करता है। मेरे विचार ये हैं कि दो लाइनों को बिना किसी समस्या के सह-अस्तित्व में होना चाहिए। मुझे लगता है कि यह डिजाइन द्वारा है, लेकिन क्या यह खराब डिजाइन है?

उत्तर

10

किसी और ने पहले से ही इस सवाल का जवाब है:

http://forums.asp.net/t/1776599.aspx/1?MVC+4+0+Bundling+Minification+not+working+

अद्यतन:

किसी ने चिंता यह है कि एक लिंक सवाल का जवाब देने के लिए पर्याप्त नहीं हो सकता है व्यक्त की है। हालांकि मैं अभी भी विश्वास है कि कोई है जो इस पृष्ठ पर जाता है जुड़ा हुआ धागा पढ़ना चाहिए, संक्षिप्त उत्तर BundleTable.Bundles.RegisterTemplateBundles() लाइन Application_Start (से) BundleTable.Bundles.EnableDefaultBundles() के साथ हटा दें और इसे बदलना है

+0

धन्यवाद समाधान काम करता है। निश्चित रूप से, दो विकल्पों को एक साथ काम करना चाहिए? –

+0

दुर्भाग्य से, मुझे अपने सिर के शीर्ष से उस विशिष्ट प्रश्न का उत्तर देने के लिए एमवीसी 4 के बारे में पर्याप्त जानकारी नहीं है। मेरा अनुमान है कि यह चाहिए लेकिन यह एमवीसी 4 के भीतर एक बग हो सकता है। – evasilchenko

+0

बिल्ली क्या है :) यह अब एक आकर्षण के रूप में काम करता है! thx –

0

नोट: ऑप्टिमाइज़ेशन के 1.0.0 आरटीएम संस्करण के रूप में EnableDefaultBundles को हटा दिया गया था, फिर भी आप अपने डायनामिक फ़ोल्डरबंडल को सेट करके समकक्ष कार्यक्षमता प्राप्त कर सकते हैं। लेकिन आम तौर पर यह समस्याएं पैदा करने की संभावना है (आमतौर पर उन फ़ाइलों में प्रतिबाधाएं होती हैं जिन्हें थोक * *js में शामिल नहीं किया जाता है), इसलिए हम स्पष्ट बंडल सेटअप और EnableDefaultBundles से दूर चले गए।

तारीख डॉक्स/ट्यूटोरियल करने के लिए सबसे अच्छा अप के लिए: Codeplex Documentation

+0

मुझे लगता है कि आपको किसी बिंदु पर दस्तावेज़ अपडेट करना चाहिए। एमएस लोगों द्वारा लिखे गए अधिकांश लेख पुराने हैं। – LeftyX

संबंधित मुद्दे

 संबंधित मुद्दे