एक अच्छा दृष्टिकोण मैं हाल ही में उपयोग किया है AppDomain के AssemblyResolve घटना के लिए एक ईवेंट हैंडलर जोड़ने के लिए है।
AppDomain currentDomain = AppDomain.CurrentDomain;
currentDomain.AssemblyResolve += new ResolveEventHandler(MyResolveEventHandler);
तब ईवेंट हैंडलर विधि में आप विधानसभा कि Assembly.Load, Assembly.LoadFrom ओवरराइड से एक का उपयोग और यह विधि से लौटने हल किया जा करने का प्रयास किया गया था लोड कर सकते हैं।
संपादित करें:
अपने अतिरिक्त जानकारी के आधार पर मैं तकनीक का उपयोग कर लगता है कि इसके बाद के संस्करण, विशेष रूप से एक विधानसभा के लिए संदर्भ के समाधान अपने आप को केवल वास्तविक दृष्टिकोण है कि अपने अनुप्रयोग के पुनर्गठन के बिना काम करने के लिए जा रहा है है। यह आपको क्या देता है कि सीएलआर को हल करने में असफल होने वाली प्रत्येक असेंबली का स्थान आपके कोड द्वारा रनटाइम पर निर्धारित और लोड किया जा सकता है ... मैंने इसे समान परिस्थितियों में दोनों प्लग करने योग्य आर्किटेक्चर और असेंबली संदर्भ अखंडता के लिए उपयोग किया है स्कैनिंग उपकरण।
स्रोत
2008-08-22 10:15:01
इस तकनीक का एक अच्छा उदाहरण एप्लिकेशन LINQPad है। यह एक exe के रूप में जहाज, तो सभी पुस्तकालयों एम्बेडेड संसाधनों के रूप में शामिल हैं। जानकारी के लिए http://www.linqpad.net/HowLINQPadWorks.aspx कोड के लिए http://www.albahari.com/nutshell/ch16.aspx देखें और। – Pat