का उपयोग करके एक ही असेंबली के विभिन्न संस्करणों में कक्षा ऑब्जेक्ट का उपयोग करें। मुझे अलग-अलग संस्करण की असेंबली लोड करने की आवश्यकता है (मेरे पास पहले से ही मेरे आवेदन में समान नाम वाला असेंबली है)।प्रतिबिंब
मैं असेंबली लोड करने और विधि को लोड करने में सक्षम था जिसकी मुझे प्रतिबिंब का उपयोग करके आमंत्रित करने की आवश्यकता थी, लेकिन जब मैं अपनी कक्षा वस्तु को तर्क के रूप में पास करके विधि का आह्वान करने के लिए जाता हूं, तो मुझे अपवाद मिला कि कक्षा वस्तु को प्रकार में परिवर्तित नहीं किया जा सकता तर्क पैरामीटर का।
नमूना कोड -
Assembly myAssembly = Assembly.LoadFrom("Assembly Path for assembly with different version");
object classObject = myAssembly.CreateInstance("ClassName");
Type classType = myAssembly.GetType("ClassName");
MethodInfo myMethod = classType.GetMethod("MyMethod", BindingFlags.Instance);
// Creating an object of class in the latest assembly and need to pass this
// to method in assembly with different version.
ClassInBothVesions parameter = new ClassInBothVesions();
myMethod.Invoke(classObject, new object[] { parameter });
यहाँ पैरामीटर एक वर्ग जो मैं विधानसभा में लेकिन जब से पैरामीटर वर्ग वर्तमान संस्करण की विधानसभा में बन जाता है है की एक वस्तु है। और जब मैं इसे पिछले असेंबली की विधि में पास करने का प्रयास करता हूं, तो मुझे एक अपवाद मिला कि इसे परिवर्तित नहीं किया जा सकता है।
मैं इसे कैसे प्राप्त कर सकता हूं? अगर मुझे यहां कुछ और जानकारी डालना है तो मुझे बताएं। अग्रिम में धन्यवाद।
मैं गलत हो सकता हूं, लेकिन जहां तक मैं समझता हूं, असेंबली के एक अलग संस्करण को लोड करने के लिए एक और ऐप डोमेन की आवश्यकता होती है। अन्यथा, पहले से लोड संस्करण का उपयोग किया जाएगा। – Vlad
नहीं, मैं एक ही ऐप डोमेन के भीतर असेंबली लोड करने में सक्षम था। एकमात्र मुद्दा तब आता है जब मैं एक संस्करण में दूसरे संस्करण में बनाए गए पैरामीटर को पारित करने का प्रयास करता हूं। यदि मैं प्रतिबिंब का उपयोग कर उसी संस्करण में बनाई गई ऑब्जेक्ट के साथ विधि का आह्वान करने का प्रयास करता हूं, तो यह ठीक काम करता है .. –
[संभावित असेंबली संस्करणों में उत्तीर्ण कक्षा वस्तुओं] के संभावित डुप्लिकेट (http://stackoverflow.com/questions/8871079/passing-class -बोजेक्ट्स-से-अलग-असेंबली-संस्करण) –