2008-08-07 14 views
15

का संदर्भ कैसे लें मैं एक शेयरपॉइंट एप्लिकेशन विकसित कर रहा हूं और .NET AjaxControlToolkit लाइब्रेरी का उपयोग कर रहा हूं, हम Sharepoint पर कस्टम एएसपीएक्स पेज जोड़ रहे हैं। शेयरपॉइंट 2007 क्विर्क मोड में चलाया गया है इसलिए मैंने AJAX लाइब्रेरी में कुछ संशोधन किया है ताकि इसे सामान्य रूप से व्यवहार किया जा सके। समस्या यह है कि दूसरी टीम पहले से ही AJAX लाइब्रेरी का उपयोग करती है और यह मेरे साथ एक अलग संस्करण है। यह कारण संघर्ष करता है क्योंकि उसी नाम के साथ बिन फ़ोल्डर में केवल एक डीएल हो सकता है।एकाधिक संस्करण असेंबली

जो मुझे पता है, से .NET इस स्थिति को आसानी से संभालने में सक्षम होना चाहिए। मैंने इसे हल करने के लिए मजबूत नाम और जीएसी का उपयोग करने का प्रयास किया है, लेकिन यह अभी भी बिन फ़ोल्डर में डीएलएल का संदर्भ देता है। यदि बिन फ़ोल्डर में कोई AjaxControlToolkit.dll नहीं है, तो एप्लिकेशन असेंबली लोड करने में असफल हो जाएगा।

मैं इस

<%@ 
    Register 
    tagprefix="AjaxControlToolkit" 
    namespace="AjaxControlToolkit" 
    assembly="AjaxControlToolkit, Version=1.0.299.18064, 
    PublicKeyToken=12345678abcdefgh, 
    Culture=neutral" 
%> 

की तरह मेरे पर पूरा विधानसभा जानकारी का उपयोग करते हैं यह मेरे कंपाइलर त्रुटि CS0433

देता

कोई कैसे एक आवेदन पत्र में विधानसभा के कई संस्करण का उपयोग करने पर मेरी मदद कर सकते हैं?

+0

क्या आप एक ही नियंत्रण में विभिन्न असेंबली संस्करण का उपयोग करते हैं? या यह एक ही परियोजना है लेकिन विभिन्न नियंत्रण है? – Machinegon

उत्तर

3

अच्छी तरह से Compiler Error CS0433 के लिए लिंक यह स्पष्ट करता है कि मूल समस्या असेंबली के कई संस्करणों के साथ नहीं है - लेकिन नेमस्पेस + टाइपनाम विवादों के साथ।

जब आप किसी प्रकार को लोड/संदर्भित करते हैं - संकलक यह निर्धारित नहीं कर सकता कि कौन से डीएलएल उस प्रकार से लोड हो। यदि शेयरपॉइंट आपके डीएलएल संस्करणों को लोड करने जा रहा है (जैसा कि आप कहते हैं कि इसकी आवश्यकता है) - यह त्रुटि हमेशा आती है।

सरल डीएलएल में नामस्थानों को बदलने के लिए सरलतम फिक्स होगा, क्योंकि इसमें आपके कस्टम बदलाव हैं, और आप कोड को नियंत्रित करते हैं - इसे स्पष्ट रूप से चिह्नित करें।

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