2012-06-26 15 views
5

मैं एएसपीनेट में लागू एक बड़े वेब एप्लिकेशन पर काम कर रहा हूं। आवेदन का मुख्य हिस्सा, इसे किसी तीसरे पक्ष द्वारा कार्यान्वित किया जाता है, दूसरों द्वारा प्रबंधित किया जाता है, इसलिए मेरे पास इसका अधिक नियंत्रण नहीं है।एएसपीनेट: क्या मेरे पास बिन फ़ोल्डर में एक ही डीएलएल/असेंबली के 2 अलग-अलग संस्करण हो सकते हैं?

मैंने 8 एएसपीनेट कस्टम नियंत्रण लागू किए हैं जो अलग डीएलएल को संकलित करते हैं और एप्लिकेशन के बिन फ़ोल्डर में डाल दिए जाते हैं। इन नियंत्रणों को मुख्य अनुप्रयोग से कुछ डीएलएल (या यह असेंबली होना चाहिए?) से लिंक करना होगा जो बिन फ़ोल्डर में भी संग्रहीत हैं। आइए उन्हें MainAppCore1.dll और MainAppCore2.dll पर कॉल करें। ऐसा लगता है कि .NET कोड प्रबंधित किया गया है।

मेरी समस्या यह है कि मुख्य एप्लिकेशन अपडेट किया गया है, और खराब भविष्य की तरह खराब दिखता है, क्योंकि बग की समस्याओं के कारण मैंने मुख्य ऐप डीएलएस के मूल संस्करण के खिलाफ अपने सभी नियंत्रण संकलित किए हैं, इसलिए अब वे लोड नहीं होंगे। जाहिर है मैं MainAppCore1.dll और MainAppCore2.dll के नए संस्करणों के खिलाफ सभी नियंत्रण recompiling द्वारा इस मुद्दे को हल कर सकते हैं लेकिन एक समझदारी भरा तरीका

मेरा प्रश्न है देख रहा हूँ: यह संभव में 2 संस्करण रखने के लिए मुख्य अनुप्रयोग DLLs के है बिन फ़ोल्डर ताकि मेरा नियंत्रण हर बार मुख्य ऐप को अपग्रेड किया जा सके (संभवतया) काम करेगा?

मैं web.config फ़ाइल को संपादित करना नहीं चाहता क्योंकि यह राजनीतिक रूप से जटिल होगा।

+0

स्रोत नियंत्रण में मुख्य अनुप्रयोग है? – IrishChieftain

+0

अच्छा सवाल: नहीं यह नहीं है! और मैं इसके बारे में कुछ भी नहीं कर सकता। – Annabel

उत्तर

4

संक्षेप में और बस, आप नहीं कर सकते हैं। व्यापक रूप से एक ही फ़ोल्डर में .NET असेंबली के दो संस्करण होने के कारण जीएसी (ग्लोबल असेंबली कैश) फ़ोल्डर में केवल एक ही संभावित फ़ोल्डर है, जहां नेट असेंबली के कई संस्करण चल सकते हैं और आपके नियंत्रण असेंबली जीएसी में विशिष्ट संस्करण को इंगित कर सकते हैं , इस पर ध्यान दिए बिना कि वहां कितने संस्करण मौजूद हैं। एक संभावित समाधान यह है कि अपने तीसरे पक्ष के विक्रेताओं से उनके मेनकोर 1 डीएलएल को दृढ़ता से नाम दें और इसे जीएसी में इंस्टॉल करें, जब भी संस्करण बदल जाए, और फिर अपने web.config में आप किसी विशेष संस्करण को इंगित कर सकें।

1

अपने 8 कस्टम नियंत्रण को अपनी लाइब्रेरी प्रोजेक्ट में रखें और मुख्य परियोजना से संदर्भ दें। संभवतः सब कुछ स्रोत नियंत्रण में है इसलिए जब आप "नवीनतम प्राप्त करें" करते हैं तो कोई संस्करण समस्या नहीं होनी चाहिए।

+0

मुख्य आवेदन स्रोत नियंत्रण में नहीं है - या अधिकतर इसमें तृतीय पक्ष के स्रोत नियंत्रण में होगा। और मैं उनसे अपने कोड से लिंक करने के लिए नहीं कह सकता क्योंकि वे बहुउद्देश्यीय ग्राहकों को बेचने के लिए एक मंच की आपूर्ति कर रहे हैं। – Annabel

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

  • कोई संबंधित समस्या नहीं^_^