मुझे यह प्रश्न और कुछ उत्तर बहुत उपयोगी लगे, हालाँकि मुझे पथ की समस्या थी, इसलिए यह उत्तर बिन निर्देशिका पथ को खोजकर लोडिंग लाइब्रेरी को कवर करेगा।
पहला उपाय:
string assemblyName = "library.dll";
string assemblyPath = HttpContext.Current.Server.MapPath("~/bin/" + assemblyName);
Assembly assembly = Assembly.LoadFrom(assemblyPath);
Type T = assembly.GetType("Company.Project.Classname");
Company.Project.Classname instance = (Company.Project.Classname) Activator.CreateInstance(T);
दूसरा उपाय
string assemblyName = "library.dll";
string assemblyPath = HttpContext.Current.Server.MapPath("~/bin/" + assemblyName);
Assembly assembly = Assembly.LoadFile(assemblyPath);
(Company.Project.Classname) instance = (Company.Project.Classname) assembly.CreateInstance("Company.Project.Classname");
आप इंटरफेस के लिए एक ही सिद्धांत का उपयोग कर सकते हैं (आप एक वर्ग बना रहे हैं लेकिन इंटरफ़ेस पर कास्टिंग करेंगे), जैसे:
(Company.Project.Interfacename) instance = (Company.Project.Interfacename) assembly.CreateInstance("Company.Project.Classname");
यह उदाहरण वेब एप्लिकेशन के लिए है लेकिन डेस्कटॉप एप्लिकेशन के लिए भी इसका उपयोग किया जा सकता है, उदाहरण के लिए, केवल पथ को अलग तरीके से हल किया जाता है
Path.GetDirectoryName(Application.ExecutablePath)