2010-04-06 22 views
6

बंद कर दिया है, मैं अपने मुख्य प्रोजेक्ट के लिए सी # में कस्टम कंट्रोल क्लास लिख रहा हूं।असेंबली के विभिन्न स्थानों ने प्रकार कास्टिंग

2 परियोजनाएं हैं, एक मेरे नियंत्रण के लिए और एक मेरी मुख्य परियोजना के लिए। ये 2 परियोजनाएं एक ही समाधान में हैं। मैं अपने मुख्य प्रोजेक्ट से अपने नियंत्रण प्रोजेक्ट में एक संदर्भ जोड़ता हूं। मैंने देखा कि टूल पैनल से अपने मुख्य Winform पर अपना नियंत्रण खींचने के बाद पहली बार, एक असेंबली फ़ोल्डर सी: \ उपयोगकर्ता \ XXX \ AppData \ Local \ Microsoft \ VisualStudio \ 9.0 \ ProjectAssemblies पर उत्पन्न हुआ था, और फ़ोल्डर का नाम कुछ है जैसे "jlebh-py01"।

पहले निर्माण हमेशा ठीक है, लेकिन उसके बाद मैं अपने नियंत्रण वर्ग या पूरे समाधान के पुनर्निर्माण, एक नया विधानसभा फ़ोल्डर सेल्सियस पर उत्पन्न हो जाएगा: \ Users \ XXX \ AppData \ Local \ Microsoft \ VisualStudio \ 9.0 \ ProjectAssemblies , और फिर समस्या उत्पन्न होती है, मेरा नियंत्रण अच्छी तरह से व्यवहार करने में विफल रहता है क्योंकि विजुअल स्टूडियो का कहना है कि दो प्रकार "अलग-अलग स्थान से निकलते हैं"। त्रुटि संदेश के रूप में नीचे है:

[एक] MyControl.TypeXXX [बी] MyControl.TypeXXX में ढाला नहीं जा सकता है। स्थान में टाइप करें assemblyXXX से एक orginates 'सी: \ Users \ XXX \ AppData \ Local \ Microsoft \ VisualStudio \ 9.0 \ ProjectAssemblies \ jlebh-py01 \ MyControl.dll' स्थान 'सेल्सियस पर assemblyXXX से प्रकार बी originats: \ उपयोगकर्ता \ XXX \ AppData \ Local \ Microsoft \ VisualStudio \ 9.0 \ ProjectAssemblies \ ue4i-z3j01 \ MyControl.dll '

मैं नियंत्रण DLL संदर्भ के बजाय सीधे परियोजना संदर्भ के माध्यम से, या नियंत्रण परियोजना के पुनर्निर्माण कभी नहीं तो मुख्य परियोजना में मेरा नियंत्रण उपयोग करने के बाद, चीजें ठीक लगती हैं।

क्या कोई जानता है क्यों? क्या यह एक ही समाधान के भीतर नियंत्रण और मुख्य परियोजना विकसित करने का उचित तरीका है?

उत्तर

2

जो आपने समझाया - ऐसा लगता है कि आपके समाधान में मुख्य प्रोजेक्ट आपके पास नियंत्रण पुस्तकालय के संदर्भ को अद्यतन नहीं कर रहा है। मैं कम से कम कुछ वर्षों के लिए एएसपी.नेट में काम कर रहा हूं, और संदर्भित असेंबली के साथ समान समस्याएं थीं, लेकिन इसके लिए हमेशा एक बहुत ही सरल फिक्स था - मुख्य परियोजना को पुनर्निर्माण करें। इसे साफ करना चाहिए, और फिर एक नया निर्माण चलाएं।

एक और चीज जो आप कोशिश कर सकते हैं वह आपके नियंत्रण में एक परिवर्तनीय असेंबली संस्करण जोड़ना है। प्रोजेक्ट गुणों में, असेंबली जानकारी, संस्करण संख्या को 1.0 पर सेट करने का प्रयास करें। * यह अंतिम दो संस्करण संख्याओं को दिन के दिन और दिन के आधार पर लागू करेगा, और प्रत्येक बार जब आप नियंत्रण पुनर्निर्माण करेंगे- यह अलग होगा संस्करण। जब तक मुख्य परियोजना संस्करण को अद्यतन रखती है - जो इसे करना चाहिए - कोई समस्या नहीं होनी चाहिए ..

+0

धन्यवाद आर्टियॉम। 8^डी – smwikipedia

+0

आपका स्वागत है .. मुझे खुशी है कि मैं मदद कर सकता हूं) –

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