से एक असेंबली लोड करें मैं एक असेंबली के रूप में एक डीएलएल फ़ाइल (Test.dll) लोड करना चाहता हूं। मैं प्रत्यक्ष दृश्य स्टूडियो संदर्भों (यानी मेरे सी # अनुप्रयोग के संदर्भ के रूप में डीएल लोड करना) के साथ-साथ Assembly.LoadFile(filename)
विधि का उपयोग करके डीएल लोड करने के लिए ऐसा करने में सक्षम हूं। अब, मैं अपने डीएलएल फ़ाइल को एम्बेडेड संसाधन के रूप में अपने विजुअल स्टूडियो एप्लिकेशन में जोड़ना चाहता हूं, और डीएलएल फ़ाइल को असेंबली के रूप में लोड करना चाहता हूं। मुझे पता है कि इस संसाधन को बाइट सरणी के रूप में कैसे लोड किया जाए, क्या बाइट सरणी और असेंबली के बीच कुछ सहसंबंध है जिसका मैं उपयोग कर सकता हूं? इसके अलावा, मुझे डीएलएल फ़ाइल में स्थित एक विधि को कॉल करने में सक्षम होना चाहिए। नीचे दिया गया कोड देखें - यह आगे बताएगा कि मैं क्या कर रहा हूं।एम्बेडेड संसाधन
Assembly SampleAssembly = Assembly.LoadFrom("WindowsFormsApplication2.ThisisaTESTDLL.dll");
Type myType = SampleAssembly.GetTypes()[0];
MethodInfo Method = myType.GetMethod("myVoid");
object myInstance = Activator.CreateInstance(myType,null);
Method.Invoke(myInstance,new object[] { "param1", "param1"});
यदि मुझे यहां कुछ याद आ रही है, तो कृपया मुझे सम्मान से बताएं और मैं मूल पोस्ट संपादित करूंगा।
मेरा मानना है कि मैंने सवाल में कहा है, मैं पहले से ही बाइट सरणी में पढ़ने में सक्षम हूं, क्या इस बाइट सरणी से असेंबली को पढ़ने का कोई तरीका है? –
हां। असेंबली का उपयोग करें। लोड (...) –
यह वह जगह है जहां मैं अज्ञानी लग रहा हूं .... मैंने असेंबली के लिए प्रलेखन पढ़ा। लोड और "अधिभार" में से एक "बाइट []" कहता है। फिर, जब मैं "असेंबली.लोड" टाइप करता हूं तो वीएस पैरामीटर के रूप में "स्ट्रिंग" कहता है? क्या निर्दिष्ट करने का कोई तरीका है? –