visual studio 2010 - विजुअल स्टूडियो 2013 देता है "प्रकार के डुप्लिकेट संग्रह प्रविष्टि को जोड़ नहीं सकता 'mimeMap'"




visual-studio-2010 iis-7 (2)

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

अनन्य कुंजी विशेषता 'fileExtension' के साथ 'mmpMap' पर सेट 'mimeMap' प्रकार की डुप्लिकेट संग्रह प्रविष्टि नहीं जोड़ सकता।

कुछ खोज के बाद, मुझे एक ब्लॉग पर सहायक पोस्ट मिला, लेकिन चूंकि यह मुद्दा थोड़ा अलग था और मुझे इसे स्टैक ओवरफ्लो पर नहीं मिला, मैंने सोचा कि मैं सवाल पोस्ट करूंगा और यहां जवाब दूंगा।


बस इसे जोड़ने से पहले एक्सटेंशन को हटा दें।

<remove fileExtension=".mp4" />
<mimeMap fileExtension=".mp4" mimeType="video/mp4" />

मुद्दा यह था कि जब मैंने विजुअल स्टूडियो 2013 में स्विच किया, तो डीबगिंग के लिए इस्तेमाल किया गया वेब सर्वर बदल गया। विजुअल स्टूडियो 2013 डिफ़ॉल्ट रूप से आईआईएस एक्सप्रेस का उपयोग करता है। हालांकि विजुअल स्टूडियो 2010 एसपी 1 आईआईएस एक्सप्रेस का समर्थन करता है, मेरी स्थापना अभी भी डिफ़ॉल्ट विजुअल स्टूडियो डेवलपमेंट सर्वर का उपयोग कर रही थी।

आईआईएस 7 की तरह, विजुअल स्टूडियो डेवलपमेंट सर्वर ने एमपी 4 माइम प्रकार को डिफॉल्ट रूप से परिभाषित नहीं किया है, इसलिए हमने इसे web.config में स्पष्ट रूप से जोड़ा था, इस तरह:

<system.webServer>
<staticContent>
  <mimeMap fileExtension=".mp4" mimeType="video/mp4" />
</staticContent>
</system.webServer>

आईआईएस एक्सप्रेस, दूसरी ओर, आईआईएस 8 पर आधारित है, और आईआईएस 8 एमपी 4 माइम प्रकार और कई अन्य लोगों को डिफ़ॉल्ट रूप से परिभाषित करता है। तो जब mimeMap स्पष्ट रूप से web.config में सेट किया गया है, तो इसे डुप्लिकेट माना जाता है।

यदि आपको अपने उत्पादन वातावरण में आईआईएस 7 का समर्थन करने की आवश्यकता नहीं है, तो आप web.config से mimeMap टैग को पूरी तरह से हटा सकते हैं। यदि आपको दोनों आईआईएस 7 और आईआईएस 8 का समर्थन करने की आवश्यकता है, तो आप पहले mimeMap के लिए एक हटा टैग का उपयोग कर सकते हैं और फिर इसे फिर से सेट कर सकते हैं:

<system.webServer>
<staticContent>
    <remove fileExtension=".mp4" />
    <mimeMap fileExtension=".mp4" mimeType="video/mp4" />
</staticContent>
</system.webServer>

आईआईएस 7 में हटाने से कुछ भी नहीं होगा क्योंकि यह पहले से परिभाषित नहीं है, लेकिन आईआईएस 8 में यह मूल को हटा देगा ताकि नया एक डुप्लिकेट न हो। आईआईएस 7 और आईआईएस 8 अंतर और हटाने समाधान पर अपनी पोस्ट के लिए ओलिवर पायन के लिए धन्यवाद।





iis-8