2012-10-19 13 views
11

का उपयोग नहीं कर रहा 4 फ़ाइलें:शैली बंडलिंग मिनट फ़ाइलों

  • a.css
  • a.min.css
  • b.css
  • b.min.css

bundles.Add(new StyleBundle("~/Content/acss").Include("~/Content/a.css", "~/Content/b.css")); 
:

वे निम्नलिखित तरीके से बंडल में जुड़ जाते हैं

जब डिबग में आवेदन चल रहा है सब ठीक से प्रदान की गई है:

<link href="/Content/acss?v=mUdXE7_fXKjICzE_XteIB1Igy6TekX1QFh-BtY6fFUw1" rel="stylesheet"/> 

और अंदर मैं संस्थापक हूँ:

<link href="/Content/a.css" rel="stylesheet"/> 
<link href="/Content/b.css" rel="stylesheet"/> 

लेकिन जब रिलीज में चल रहा है मैं इसे निम्नलिखित तरीके से प्रदान की गई है

/* कमी विफल रही। असीमित सामग्री लौट रहा है। (24,708): रन-टाइम त्रुटि सीएसएस 1030: अपेक्षित पहचानकर्ता, '।' मिला

  1. यह ऑनलाइन दस्तावेज़ के अनुसार क्यों काम नहीं कर रहा:

तो मैं दो प्रश्न हैं? सभी जानकारी कहती है कि रिलीज संस्करण के लिए उपलब्ध होने पर यह न्यूनतम फ़ाइल चुनता है?

  • इसे दस्तावेज़ के अनुसार कैसे काम करना है?
  • +0

    "यह ऑनलाइन दस्तावेज़ों के अनुसार क्यों काम नहीं कर रहा है?" "दस्तावेज़ीकरण के अनुसार इसे कैसे काम करना है?" - आप कौन से दस्तावेज़ देख रहे हैं? – Pluc

    +0

    _CSS1030: अपेक्षित पहचानकर्ता, '।'_ लगता है जैसे आपको अपने सीएसएस में कोई त्रुटि है, जो खनन में विफल हो सकती है। – ZippyV

    +0

    @ZippyV Minification कुछ ब्राउज़र विशिष्ट टैग के साथ काम नहीं कर रहा है। और सवाल त्रुटि से संबंधित नहीं है, लेकिन क्यों बंडलिंग न्यूनतम फ़ाइल का उपयोग नहीं कर रहा है, यह पहले से ही फ़ोल्डर में है। – Marcin

    उत्तर

    35

    मेरे पास आपके पास एक ही समस्या थी, मेरे समाधान में उनके .min फ़ाइलों के साथ सीएसएस/जेएस फ़ाइलें शामिल थीं जिन्हें मैंने कम करने के लिए वेब अनिवार्यताएं उपयोग की थीं।

    यदि मैंने डिबग मोड में बंडल का उपयोग किया है, तो सब ठीक से काम करेगा और सभी व्यक्तिगत गैर-न्यूनतम फ़ाइलों को मेरे ऐप में लोड किया जाएगा। हालांकि, अगर मैं BundleTable.EnableOptimizations = true; सेट करता हूं तो मुझे त्रुटियां मिलेंगी क्योंकि इसे मेरी फ़ाइलों को कम करने में समस्या थी।

    पर http://www.asp.net/mvc/tutorials/mvc-4/bundling-and-minification आधार पर जहां यह कहा गया है:

    ASP.NET MVC 4 के लिए, यह एक डिबग विन्यास के साथ का मतलब है, फ़ाइल jQuery-1.7.1.js बंडल में जोड़ दिया जाएगा। एक रिलीज में कॉन्फ़िगरेशन, jquery-1.7.1.min.js जोड़ा जाएगा। बंडलिंग फ्रेमवर्क कई आम सम्मेलनों का पालन करता है जैसे कि

    "FileX.min.js" और "FileX.js" मौजूद होने पर रिलीज के लिए ".min" फ़ाइल का चयन करना। डीबग के लिए गैर ".min" संस्करण का चयन करना।

    मुझे उम्मीद है कि यह केवल मेरी पहले से ही कम से कम फ़ाइलों को लोड करने और बस उन्हें बंडल करने की उम्मीद है। मेरा मानना ​​है कि यह निहित है, लेकिन प्रलेखन में गायब है, यह है कि यह मेरी पहले से ही कम से कम कम से कम फ़ाइलों को कम कर देगा, जो काम नहीं कर रहा था और आउटपुट में त्रुटियों का कारण बन रहा था।

    आप, बस कोई के साथ बंडल बनाने को बदलने से minification को छोड़ सकते हैं अर्थात ScriptBundles, बस सामान्य बंडल नहीं:

    मैं http://aspnetoptimization.codeplex.com/workitem/56 जो उल्लेख नहीं मिला।

    यह मेरी समस्या का उत्तर साबित हुआ। टाइप करने के लिए मेरे ScriptBundle और StyleBundle दोनों को सेट करके, अब मुझे कम से कम सही बंडलिंग मिलती है।

    डीबग में, मेरी सभी नियमित सीएसएस/जेएसएस फाइलें व्यक्तिगत रूप से लोड की जाती हैं। जब मैं इसे गैर-डीबग पर सेट करता हूं, तो सबकुछ बंडल होता है और यह स्वचालित रूप से सभी .min फ़ाइलों को चुनता है।

    +4

    आप महोदय, एक विद्वान और एक सज्जन हैं। अच्छी पकड़। – Khepri

    +1

    स्क्रिप्टबंडल और स्टाइलबंडल को नियमित बंडल में बदलने के लिए यह मेरे लिए किया। लेकिन माइक्रोसॉफ्ट डिफ़ॉल्ट रूप से बंडल का उपयोग डिफ़ॉल्ट एमवीसी प्रोजेक्ट में क्यों नहीं करेगा जब यह jquery- {version} .js और jquery- {version} -min.js दोनों लोड हो रहा है? –

    +0

    धन्यवाद! मुख्य quirk की तरह लगता है कि यह .min फ़ाइलों को कम कर रहा है। –

    0

    आप एक Bundle Transformer देखा है, यह 1.6.5 version एक संपत्ति बुलाया usePreMinifiedFiles/पूर्व minified फ़ाइलों का उपयोग को निष्क्रिय सक्षम बनाता है जो का उपयोग किया।

    आप से documentation

    नोट BundleTable.EnableOptimizations = true;

    निर्धारित किया है: जब तक EnableOptimizations सच है या Web.config फ़ाइल में संकलन तत्व में डिबग विशेषता गलत पर सेट है, फ़ाइलों होगा बंडल या छोटा नहीं किया जा सकता है। इसके अतिरिक्त, फ़ाइलों का .min संस्करण उपयोग नहीं किया जाएगा, पूर्ण डीबग संस्करणों का चयन किया जाएगा। EnableOptimizations Web.config फ़ाइल

    +1

    अभी तक नहीं, इससे पहले कि मैं तीसरे पक्ष के औजारों का उपयोग करना शुरू कर दूं, मैं एक उत्तर प्राप्त करना चाहता हूं कि बंडलिंग दस्तावेज़ीकरण के अनुसार क्यों काम नहीं कर रहा है। – Marcin

    +0

    क्या आप लंबे नामित सीएसएस, उदाहरण apple.css और banana.css के साथ प्रयास कर सकते हैं। बस सोच रहा है कि कुछ minified चर ए या बी के साथ एक संघर्ष है। यह माना जाता है कि यह पूरा अनुमान है और शायद इसके साथ निशान को अच्छी तरह से बंद कर दें। – dove

    +0

    यह सिर्फ उदाहरण है। वास्तव में मेरी फाइलें कहा जाता है: _myfile.common.css_, _myfile.layout.all.css_, _myfile.common.min.css_, _myfile.layout.all.min.css_ – Marcin

    1

    आपका वास्तविक प्रश्न जवाबदेह है क्योंकि यह पहले से ही प्रलेखन राज्यों के रूप में काम कर रहा है नहीं है में संकलन तत्व में डिबग विशेषता ओवरराइड करता है (जिसके कारण मैंने पूछा क्या प्रलेखन आप इसे देख रहे थे, लेकिन आपने मेरी टिप्पणी को अनदेखा करना चुना है)।

    यदि आप रिलीज मोड में एक ही व्यवहार रखना चाहते हैं, तो Global.asax में BundleTable.EnableOptimizations = false; का उपयोग करें। इससे बंडलिंग और कमीशन बंद हो जाएगा जो डीबग मोड में केवल में सक्रिय है। फिर अपनी खुद की मिनीफाइड सीएसएस/जेएस फाइलों का उपयोग करने के लिए, बस अपने बंडल पथ को संशोधित संस्करणों पर इंगित करें।

    प्रलेखन के अनुसार, आप "~/Content/a{version}.css" का भी उपयोग कर सकते हैं जो डीबग मोड में गैर-मिनीफाइड संस्करण और रिलीज के लिए मिनी संस्करण का उपयोग करेगा। हालांकि, मैंने कोशिश नहीं की है।

    +0

    मैंने आपकी टिप्पणी को अनदेखा नहीं किया है। मैं आपसे प्रश्न से किसी को भी नहीं देखता हूं। केवल एक जिसे मैं देख सकता हूं वह फाइल नामों में बिंदुओं से संबंधित है। शायद मैं अंधा हूं लेकिन कोई सवाल नहीं देख सकता। और अब इसका जवाब दे रहा है, [यहां है] (http://www.asp.net/mvc/tutorials/mvc-4/bundling-and-minification) जहां मैंने देखा। Folloing कथन है: _ बंडलिंग फ्रेमवर्क कई आम सम्मेलनों का पालन करता है जैसे: "FileX.min.js" और "FileX.js" मौजूद होने पर रिलीज के लिए ".min" फ़ाइल का चयन करना। Debug._ – Marcin

    +0

    के लिए गैर ".min" संस्करण का चयन करना क्षमा करें, अब मैं देख रहा हूं। मैंने अलग-अलग थ्रेड – Marcin

    +0

    में देखा जो आपने प्रदान किए गए लिंक पर पोस्ट किए गए उद्धरण के बाद 5 लाइनें पढ़ें। यह वह जगह भी है जहां मुझे इस उत्तर को पोस्ट करने के लिए मेरी जानकारी मिली लेकिन आप उस ट्यूटोरियल पर जो भी उल्लेख नहीं कर रहे हैं, वह नहीं कर रहे हैं। – Pluc

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