सवाल फ़ॉन्ट-भयानक एमवीसी 5 में काम नहीं कर रहा bundleconfig


अगर मैं संदर्भित करता हूं font-awesome.css _layouts पृष्ठ में। यह काम करेगा

<link href="~/Content/font-awesome-4.0.3/css/font-awesome.css" rel="stylesheet" />

लेकिन मैंने अंदर इस्तेमाल किया BundleConfig.cs। आइकन नहीं दिख रहा है।

 bundles.Add(new StyleBundle("~/Content/css").Include(
                        "~/Content/font-awesome-4.0.3/css/font-awesome.css",
                        "~/Content/bootstrap.css",                        
                         "~/Content/body.css",
                        "~/Content/site.css",
                        "~/Content/form.css"
                     ));

और मैंने देखा कि ब्राउज़र कंसोल में फ़ॉन्ट निर्देशिका में त्रुटि है। Failed to load resource: the server responded with a status of 404 (Not Found) http://localhost:51130/fonts/fontawesome-webfont.woff?v=4.0.3

क्या समस्या हो सकती है?


43
2018-03-27 22:15


मूल




जवाब:


जैसा कि वर्णन किया गया है यह लेख, प्रयोग करने का प्रयास करें CssRewriteUrlTransform जब बंडलिंग:

bundles.Add(new StyleBundle("~/Content/css").Include(
        "~/Content/bootstrap.css",                        
        "~/Content/body.css",
        "~/Content/site.css",
        "~/Content/form.css"
    ).Include("~/Content/font-awesome-4.0.3/css/font-awesome.css", new CssRewriteUrlTransform());

यह सीएसएस फ़ाइल के भीतर से पूर्ण यूआरएल तक संपत्तियों के लिए कोई यूआरएल बदलता है ताकि बंडलिंग सापेक्ष पथ को गड़बड़ न करे।

एमएसडीएन लिंक: CssRewriteUrlTransform


81
2018-03-27 22:29



सुनिश्चित करें कि आप या तो फ़ॉन्ट-awesome.min.css के अंदर पथ को ठीक करते हैं (या बस इस फ़ाइल को हटा दें, क्योंकि बंडलिंग आपके सीएसएस को वैसे भी कम करेगा)। अन्यथा यह .min.css फ़ाइल पिकअप कर सकता है और परिवर्तन नहीं होगा। - miha
मेरे मामले में मुझे .min.css संस्करण को हटाना पड़ा - यह ऑप्टिमाइज़र को सही पथ के साथ एक छोटा संस्करण उत्पन्न नहीं कर रहा था - feradz
मेरे लिए फ़ॉन्ट भयानक फोंट तक पहुंचने के लिए एक ही समस्या थी अन्य समाधान  इन लिंक का प्रयास करें जो इससे संबंधित हैं StyleBundle  virtualpath: लिंक 1 , लिंक 2, लिंक 3, लिंक 4 , उम्मीद है कि यह किसी की मदद करता है। - stom
यदि आपका एप्लिकेशन आईआईएस में वर्चुअल निर्देशिका के अंदर होस्ट किया गया है, तो आपको ओवरराइड करना होगा CssRewriteUrlTransform इसे ध्यान में रखना। आप यहां स्टैक ओवरफ्लो पर इसका एक उदाहरण पा सकते हैं, बस Google "CssRewriteUrlTransform आभासी निर्देशिका"। - Rudey
मैंने यह भी ध्यान दिया है कि जब आप एक बंडल जोड़ते हैं, तो यह आपकी साइट के कुछ वास्तविक पथ के साथ मेल नहीं खाता है। उदाहरण के लिए यदि आप इस तरह एक बंडल बना रहे हैं bundles.Add(new StyleBundle("~/Content/fontawesome").Include("~/Content/font-awesome/css/font-awesome.css"))तो आपकी साइट के सामग्री फ़ोल्डर के तहत मौजूद वास्तविक फ़ॉन्ट-भयानक फ़ोल्डर नहीं होना चाहिए, अन्यथा यह आपको रनटाइम अजीब त्रुटि देगा। - Faisal Mq


मेरा समाधान सरल था: पीएम चलाएं> इंस्टॉल-पैकेज FontAwesome, और सही पथ का संदर्भ लें:

.Include("~/Content/font-awesome.min.css")

7
2018-04-11 21:51



इस। मैं NuGet से FontAwesome 4.2 का उपयोग कर रहा हूं, और यह सब कुछ लिया गया है (हालांकि फ़ाइल के ".min" संस्करण को संदर्भित करने का कोई मतलब नहीं है, क्योंकि बंडलिंग आपके लिए खनन का ख्याल रखेगी)। - Gary McGill
धन्यवाद!! यह मेरी समस्या तय! - Fermín


मेरे पास एक ही त्रुटि संदेश था और उसके बाद तय किया गया था आईआईएस में वेब फोंट के लिए माइम प्रकार सेट करना ।


3
2017-07-13 16:29



मैंने आलेख का पालन किया और माइम-प्रकार को हटाया और वेब कॉन्फ़िगरेशन में पुनः शामिल करने से समस्या हल हो गई। इसके अलावा मुझे फ़ॉन्ट-awesome.min.css फ़ाइल को नीचे ले जाना पड़ा /Content निर्देशिका और फोंट नीचे ले जाया गया /fonts। - Nabid


मुझे भी यही त्रुटि संदेश था। मुझे इस धागे में सूचीबद्ध उत्तरों का संयोजन करना पड़ा:

  1. @ सिमॉन सी द्वारा सुझाए गए कोड की इस पंक्ति को जोड़ें:

    शामिल करें ("~ / सामग्री / फ़ॉन्ट-कमाल-4.0.3 / सीएसएस / फ़ॉन्ट-कमाल सीएसएस", नया सीएसएसआरईआरआईआरयूआरएलट्रांसफॉर्म ());

यह सापेक्ष यूआरएल को ठीक करने के लिए काम करता था, हालांकि, जब भी मैंने प्रकाशित किया था तब भी मुझे अपनी बॉवर निर्देशिका से फ़ॉन्ट-awesome.min.css फ़ाइल को हटाना पड़ा था अन्यथा बंडलर भ्रमित हो जाएगा और फ़ॉन्ट-awesome.css फ़ाइल को शामिल और छोटा नहीं करेगा। इसलिए...

  1. मुझे एक टिप्पणी में @miha ने सुझाव दिया था और cssRewriteUrlTransform () के साथ font-awesome.min.css फ़ाइल में सापेक्ष यूआरएल को ठीक करना था। तो मैंने .min फ़ाइल में यूआरएल को फिर से लिखने का फैसला किया और बस उसमें शामिल किया गया है जो अपूर्ण संस्करण के बजाय और यह काम करता है:

    शामिल करें ("~ / सामग्री / फ़ॉन्ट-भयानक-4.0.3 / सीएसएस / फ़ॉन्ट-awesome.min.css", नया CssRewriteUrlTransform ());

अगर मैं सही ढंग से समझता हूं, तो बंडलर .min फ़ाइल को फिर से छोटा करने की कोशिश नहीं करेगा क्योंकि यह पहले से ही छोटा है। केवल "दोष" यह फ़ॉन्ट-awesome.min.css सामग्री को एकल सीएसएस फ़ाइल में संयोजित नहीं करता है जो बंडलर बनाता है। इसे अलग से शामिल किया जाएगा।


1
2017-09-21 15:40





संस्करण 5.1.0 के साथ मुझे संदर्भ देना पड़ा all.css के बजाय fontawesome.css अर्थात।,

bundles.Add(new StyleBundle("~/bundles/fontawesome").Include(
    "~/Content/all.css",
    new CssRewriteUrlTransform()
));

0
2017-07-23 10:47