2015-02-12 5 views
7

जब मैं विजुअल स्टूडियो से रिलीज मोड में अपना कोड चलाता हूं, और बंडल स्टाइल शीट की जांच करता हूं, तो मैं उस बंडल में सीएसएस फाइलों में अपने अपडेट देख सकता हूं। हालांकि जब मैं वेबसाइट या मेरी स्थानीय मशीन पर वेबसाइट प्रकाशित करता हूं, तो स्टाइल शीट में मेरे बदलाव नहीं आते हैं। बंडल स्टाइल शीट अभी भी पुरानी है।एक वेबसाइट प्रकाशित करना मेरे सीएसएस बंडल को अपडेट नहीं कर रहा है

मैंने आईआईएस रीसेट, एक स्वच्छ निर्माण/पुनर्निर्माण की कोशिश की है, आईआईएस फ़ोल्डर से सभी फाइलों को हटा दिया है और फिर से प्रकाशित किया है।

यदि मैं कोई फर्क पड़ता हूं तो मैं कम उपयोग कर रहा हूं।

मेरे बंडल config:

bundles.Add(new StyleBundle("~/bundles/requiredStyles").Include(
    "~/Content/Style/Libs/bootstrap.min.css", 
    "~/Content/Style/Libs/font-awesome.min.css", 
    "~/Content/Style/Globals/application.css", 
    "/Content/Style/Libs/muliDropdown.css", 
    "~/Content/Style/Libs/smoothDivScroll.min.css", 
    "~/Content/Style/Libs/jasny-bootstrap.min.css" 
)); 

मैं http://www.mywebsite.com/bundles/requiredStyles

जाकर बंडल सीएसएस जाँच कर रहा हूँ तो मैं application.css जो ठीक है अगर मैं दृश्य स्टूडियो में खेलने मारा में एक परिवर्तन किया (में रिलीज मोड), लेकिन जब मैं अपने स्थानीय आईआईएस में प्रकाशित करता हूं, तो मेरा परिवर्तन अब नहीं होता है।

+0

यदि आपने पहले से ही आईआईएस फ़ोल्डर से सभी फ़ाइलों को हटाने और साइट को फिर से प्रकाशित करने का प्रयास किया है, तो केवल एक चीज जिसे मैं सोच सकता हूं वह यह है कि ब्राउज़र फ़ाइल के पुराने संस्करण को कैश कर रहा है, लेकिन मुझे लगता है कि आपने पहले से ही जांच की है , सही? –

+0

सभी और अधिक कोशिश की। अभी के लिए मैंने BundleTable.EnableOptimizations = false द्वारा 'स्मारक' को बंद कर दिया है, इसलिए अब बंडल प्रत्येक सीएसएस फ़ाइल पथ को अलग-अलग एक और minifying में डालने के बजाय अलग-अलग करता है। – garethb

उत्तर

30

यह तब हो सकता है जब आपके पास एक ही निर्देशिका में एक सीएसएस फ़ाइल का एक छोटा संस्करण है जो आपकी असीमित फ़ाइल के रूप में है।

उदाहरण के लिए

, तो आप निम्न फ़ाइलें अगर:

 

    ~/Content/bootstrap.css 
    ~/Content/bootstrap.min.css 

अपने निर्देशिका में

, और आप अपने बंडल में "bootstrap.css" फाइल रजिस्टर, अनुकूलक पहले "बूटस्ट्रैप का उपयोग करने का प्रयास करेंगे। min.css "प्रकाशित होने के दौरान फ़ाइल। यदि आपने केवल "bootstrap.css" फ़ाइल को अपडेट किया है और "bootstrap.min.css" फ़ाइल को अपडेट नहीं किया है, तो आपको "bootstrap.min.css" से पुरानी शैलियों मिल जाएगी। आप "bootstrap.min.css" फ़ाइल को हटाकर या इसे अद्यतन करके इस समस्या को ठीक कर सकते हैं।

यह एक डीबग बिल्ड में ऐसा नहीं होता है, क्योंकि यह minified फ़ाइलें खींच नहीं करता है अपने संकलन का उपयोग कर डिबग के लिए सेट है, तो निम्नलिखित:

<system.web> 
    <compilation debug="true" /> 
    <!-- Lines removed for clarity. --> 
</system.web> 

तुम भी द्वारा web.config सेटिंग अधिलेखित कर सकते हैं ऑप्टिमाइज़ेशन को अक्षम करना:

 

    BundleTable.EnableOptimizations = false; 

यह आपके BundleConfig.cs फ़ाइल के अंदर जाएगा।

+0

अनुकूलन को अक्षम करना मेरे लिए ठीक काम करता है। धन्यवाद ! –

+0

BundleConfig.cs में बंडल पंजीकरण से पहले ऑप्टिमाइज़ेशन अक्षम करना मेरे लिए भी काम करता है –

1

मेरे मामले में bootstrap.min.css भी सामग्री फ़ोल्डर में मौजूद है जिसे मैंने हटा दिया और वेब साइट ठीक काम कर रही है।

फ़िलिप स्टानेक प्रति के रूप में उल्लेख करने के लिए कोड में यह बात प्रकाशित करते समय भले ही हम बंडल config में जोड़ फ्लॉप bootstrap.min.css "फाइल के दौरान प्रकाशित"

"अनुकूलक पहले का उपयोग करने का प्रयास करेंगे" "बूटस्ट्रैप .min.css "

0

मुझे हाल ही में बंडलिंग के साथ एक समान समस्या का सामना करना पड़ा। मैं विजुअल स्टूडियो में एक वेबपी परियोजना में angularJS का उपयोग करता हूं।

मेरा web.config डीबग सत्य पर सेट किया गया था। मैंने इसे झूठा कर दिया। कोई परिवर्तन नहीं होता है।

फिर मैंने अपनी कंपाइलर शर्तों को सही करने की कोशिश की (global.asax.cs | ऐप में ...प्रारंभ विधि):

'#if DEBUG' 
     'BundleTable.EnableOptimizations = true;' 
'#else' 
     'BundleTable.EnableOptimizations = true;' 
'#endif' 

यह काम नहीं करता था।

अंत में मैंने स्टैक में किसी अन्य स्थान पर बंडल में संदर्भित/गायब फ़ाइल (<controllerName>.js) को स्थानांतरित कर दिया। जब मैं डीबग करता हूं तो मैं फ़ाइल को बंडल से असम्बद्ध करता हूं क्योंकि मैं इसे सीधे index.html में शामिल करता हूं। यह संभव है कि जब मैंने इसे बहाल किया तो वीएस ने परिवर्तन को संकलित नहीं किया।

' bundles.Add(new ScriptBundle("~/SomeBundleName.js") 
      .Include("~/Scripts/IWASMissingIntheBundle.js") 
      .Include("~/Scripts/IWASNEVERMISSINGANDstillhere.js") 
      .Include("~/Scripts/MOVEDIWASMissingHEREANDNOWImFound.js")' 

मेरे प्रस्ताव है कि संकलक परिवर्तन लेने नहीं किया था और सफाई की परवाह किए बिना और पुनर्निर्माण अभी भी नहीं किया है। फ़ाइल को स्थानांतरित करने और पुन: प्रकाशित करने के बाद यह काम करना प्रतीत होता था।

लेकिन मैंने क्रोम में उपयोग किए जाने वाले "साफ़ कैश" बटन से नहीं, बल्कि डीबगर से भी नेटवर्क ब्राउज़र में कैश को साफ़ किया। उपरोक्त के माध्यम से कुछ कदम मदद करनी चाहिए।

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