6

मैं समझता हूँ और पूरी तरह से, नए बंडल वाइल्डकार्ड {version} regex सराहना के रूप में यह अद्यतन करने के बाद भी अपनी स्क्रिप्ट और शैली पुस्तकालयों को लेने के लिए जारी रहेगा, आदि समस्या यह है कि मैं इसे प्रभावी ढंग से काम करने के लिए नहीं मिल सकता है।MVC4 बंडलिंग वाइल्डकार्ड - * बनाम {version}

मैंने पहले अपना jQuery लिपियों लेने के लिए निम्नलिखित संकेतन का उपयोग किया था:

bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
      "~/Scripts/jquery-1.*")); 

और यह तारांकन वाइल्डकार्ड मिलान सभी फाइलों को लेने जाएगा।

लेकिन जब मैं करने की कोशिश की है:

 bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
        "~/Scripts/jquery-{version}.js")); 

मैंने देखा है कि jQuery फ़ाइल _Layout.cshtml पेज के लिए बाहर नहीं लिखा गया था।

नोट - मैं वास्तव में दोनों उदाहरण के लिए निम्न HTML कोड का उपयोग कर रहा:

@Scripts.Render("~/bundles/jquery") 

जब मैं ऊपर ("*") अंकन पहला उदाहरण का उपयोग निम्न पृष्ठ पर लिखा है:

<script src="/Scripts/jquery-1.7.2.js" type="text/javascript"></script> 

लेकिन जब मैं "{version}" संकेतन का उपयोग, वहाँ केवल एक खाली जगह जहां पुस्तकालय लिखा जाना चाहिए है। यह jquery फ़ाइलों के साथ-साथ संबंधित सीएसएस स्टाइलशीट दोनों से संबंधित है।

कि क्या मैं डीबग या रिहाई मोड के लिए संकलन कर रहा हूँ यह कोई फर्क नहीं पड़ता। परिणाम एक ही हैं। जाहिर रिलीज़ मोड में मैं जब "*" अंकन का उपयोग अनुकूलित संस्करण मिल जाएगा:

<script src="/bundles/jquery?v=VUv2YOeuOgHad-FHZ-vGMDu9wN1j9VZGifI1SBUUSMs1" type="text/javascript"></script> 

तो पूर्णतावादी है कि सभी डेवलपर्स रहे हैं किया जा रहा है, मैं बहुत मेरे लिए {version} अंकन काम देखना चाहेंगे, क्योंकि मैं नई रिलीज पर अद्यतित रहता हूं और अपने नियंत्रण पर इस नियंत्रण को पसंद करूंगा।

क्या मैं गलत कर किया जा सकता है बहुत सराहना कर रहा है में कोई अंतर्दृष्टि।

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

+0

आप के तहत परियोजना चल रहे हैं नेट की क्या संस्करण? मेरा मानना ​​है कि {version} कीवर्ड के लिए .NET 4.5 की सीमा है। –

+0

हाय जॉन, मैं वास्तव में .NET 4.5 फ़्रेमवर्क का उपयोग कर रहा है, और शायद वह यह है कि जहां मुद्दों में से कुछ से आते हैं। मुझे लगता है कि यह अब तक काम करने के लिए काफी लंबा रहा है, हालांकि मैंने * नोटेशन कार्यों के बाद से जांच नहीं की है और मुझे आगे बढ़ने की अनुमति देता है। – djmarquette

+2

क्या आपके पास समाधान में jQuery फ़ाइल का .min.js और .js संस्करण दोनों है? वेब ऑप्टिमाइज़ेशन के पिछले संस्करणों में रिलीज मोड में .min फ़ाइलों के उपयोग के बारे में एक धारणा थी और फ़ाइल के मौजूद होने पर भी .min के बिना फ़ाइलों को डीबग में था। बाद के संस्करणों में यह व्यवहार बदल दिया गया है। Http://aspnetoptimization.codeplex.com/workitem/32 देखें। मुझे यकीन नहीं है कि यह आपका मुद्दा था क्योंकि आपके द्वारा उद्धृत फ़ाइल नाम नाम के .min के बिना है। – pwdst

उत्तर

0

Microsoft.AspNet.Web.Optimization और संबंधित NuGet पैकेज को अद्यतन करने का प्रयास करें: Microsoft.Web.Infrastructure, WebGrease, antlr। केवल "nuget.org" टैब की जांच न करें, बल्कि "सभी" भी देखें।

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