c# एक प्रक्रिया में एंटरप्राइज लाइब्रेरी के विभिन्न संस्करण



.net plugins (1)

मैं जो देख सकता हूं, एक उचित समाधान असेंबलियों को एम्बेड करने और संसाधन प्रबंधक क्लास के उपयोग से उन तक पहुंचने के लिए होगा, यह आपको नए संस्करणों का उपयोग करने की अनुमति देगा, जहां मूल परियोजनाओं के लॉगिंग तंत्र को बनाए रखना होगा।

आप इस प्रश्न को उपयोगी पा सकते हैं: एक अन्य विधानसभा के अंदर विधानसभाओं को एम्बेड करना

हम एक ऐड-इन को Autodesk Inventor के लिए विकसित कर रहे हैं। हमारे सॉफ़्टवेयर क्रम में आविष्कारक में लोड किए गए डीएलएल असेंबलियों का एक समूह है। हमने लॉगिंग और अपवाद हैंडलिंग के लिए माइक्रोसॉफ्ट एंटरप्राइज लाइब्रेरी 5.0 का उपयोग करने का निर्णय लिया है।

अब हमें एक समस्या है, क्योंकि यह पता चला है कि आविष्कारक 2013 एंटरप्राइज लाइब्रेरी 4.1 का उपयोग करता है। जब हमारा ऐड-इन लोड हो रहा है, तो यह असेंबली के उचित संस्करण को लोड करने में विफल रहता है, क्योंकि आविष्कारक की पहले से ही इसकी बिन निर्देशिका में एक पुराने संस्करण है

हमने अब तक का विकल्प माना है:

  1. हमारे उत्पाद की तैनाती के दौरान, आविष्कारक के बिन फ़ोल्डर में पुरानी पुस्तकालयों को अधिलेखित करें
  2. हमारे विधानसभाओं में ईएल 4.1 का उपयोग करें

दोनों बुरे हैं और मैं विचारों से भाग रहा हूं, इसलिए मैं मदद के लिए पूछ रहा हूं

विकल्प 1 ने यह प्रश्न उठाया है: एंटरप्राइज लाइब्रेरी पिछला संगत है और उन डीएलएल को बिन फोल्डर के कारण समस्याओं में बदल देगी? मैंने इसे करने की कोशिश की है, आविष्कारक शिकायत नहीं करता है और अपेक्षित काम करता है (ईएल कार्यक्षमता की जाँच नहीं की है)

ऑप्शन 2 हमें पुरानी संस्करण का उपयोग करने देता है और हमें Autodesk संस्करण का इस्तेमाल कर लेता है, इसलिए जब हम अपग्रेड करते हैं तो हमें देखना होगा, खासकर जब वे आविष्कारक का एक नया संस्करण जारी करते हैं

इस परिदृश्य में सबसे अच्छा अभ्यास क्या है?

अद्यतन करें:
हमने जीएसी में एंटरप्राइज लाइब्रेरी के नए संस्करण को बस डालकर इसका हल किया। मुझे लगता है कि यहाँ क्या हुआ था .नेट ने पहले पुराने संस्करण को लोड करने की कोशिश की थी (क्योंकि यह विधानसभा खोज क्रम में अधिक था) और विफल होने के बाद उचित संस्करण देखने के लिए कभी भी आगे नहीं गए। जब GAC में, यह सही ढंग से हल करता है





autodesk