2012-05-18 11 views
15

ठीक है, मैं टेलीरिक की नियंत्रण की लाइब्रेरी का भारी उपयोगकर्ता हूं, खासकर एएसपी.नेट के लिए। हालांकि, एक छोटी सी कार्यक्षमता है जिसे मैं कुछ नियंत्रणों में जोड़ना चाहता था। आजकल मैं एक्सटेंशन विधियों का उपयोग करके यह इतना आसान कर सकता हूं। तो मैंने एक छोटी पुस्तकालय लिखी जो वास्तव में करता है। जाहिर है, इस पुस्तकालय को उनके डीएलएल (Telerik.Web.UI.dll) को संदर्भित करने की आवश्यकता है।संस्करण के बावजूद मैं डीएलएल का संदर्भ कैसे दे सकता हूं?

मेरे डीएलएल प्रोजेक्ट के My Project > References पृष्ठ में, मेरे पास Telerik.Web.UI.dll का संदर्भ है। इस संदर्भ के लिए, मेरे पास विशिष्ट संस्करण संपत्ति गलत पर सेट है, क्योंकि मैं नहीं चाहता कि मेरी लाइब्रेरी इस बात की परवाह करे कि टेलीरिक डीएलएल का कौन सा संस्करण उपयोग किया जा रहा है। हालांकि यह मेरी समस्या है ... .NET संकलक इस सेटिंग का सम्मान नहीं कर रहा है।

मामले में मामला, मेरे पास एक वेबसाइट है जो टेलीरिक डीएलएल और मेरा दोनों संदर्भ देती है। मैंने टेलीरिक लाइब्रेरी को नवीनतम संस्करण में अपडेट किया। अब जब मैं अपनी वेबसाइट चलाने का प्रयास, मैं मिलता है:

Could not load file or assembly 'Telerik.Web.UI, Version=2012.1.215.40, Culture=neutral, PublicKeyToken=121fae78165ba3d4' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

मैं वेबसाइट में मेरी DLL परियोजना के लिए जा रहा, नवीनतम Telerik DLL के खिलाफ यह फिर कंपाइल, और उसके बाद अद्यतन करने मेरी DLL करके इसे ठीक। यह ठीक है कि मैं हर बार टेलीरिक की लाइब्रेरी अपडेट करने के लिए करना चाहता हूं। मैं सोचासेट करने के लिए विशिष्ट संस्करण का अर्थ यह होगा कि यह किसी भी संस्करण के साथ काम करेगा। नहीं? या मैं पूरी तरह से गलत सेटिंग समझ रहा हूं कि सेटिंग क्या करती है?

उत्तर

3

आप bindingRedirect जिसका उपयोग करके आप क्रम में विधानसभा का एक और संस्करण का उपयोग करने के नेट ढांचे को निर्देश देने की अनुमति देगा ध्यान देना चाहिए (यानी अगर अपनी परियोजना संस्करण 1.0 के खिलाफ संकलित किया गया था, यह अभी भी संस्करण 1.1 के साथ, काम करेगा वहाँ यह सोचते हैं कोई एपीआई परिवर्तन नहीं थे)।

Specific Version विशेषता केवल संकलन-समय असेंबली संदर्भ पर लागू होती है।

+0

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

+1

हां, आपको अभी भी अपने web.config में परिवर्तन करने की आवश्यकता होगी लेकिन डीएल के पुन: संकलन की आवश्यकता नहीं होगी। – BluesRockAddict

+0

वास्तव में अब और अधिक काम करने के लिए हवाएं बढ़ती हैं, क्योंकि मैं कई वेबसाइटों में इन दो पुस्तकालयों का उपयोग करता हूं, इसलिए यदि मुझे DLL के बजाय web.config को छूना है, तो यह एक के बजाय स्पर्श करने के लिए कई जगह है। कम से कम डीएलएल recompiling एक केंद्रीकृत परिवर्तन है। – eidylon

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

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