Saya menemukan pertanyaan ini dan beberapa jawaban sangat berguna, namun saya memang memiliki masalah jalur, jadi jawaban ini akan mencakup memuat perpustakaan dengan menemukan jalur direktori bin.
Solusi pertama:
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);
Solusi kedua
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");
Anda dapat menggunakan prinsip yang sama untuk antarmuka (Anda akan membuat kelas tetapi melakukan casting ke antarmuka), seperti:
(Company.Project.Interfacename) instance = (Company.Project.Interfacename) assembly.CreateInstance("Company.Project.Classname");
Contoh ini untuk aplikasi web tetapi yang serupa dapat digunakan untuk aplikasi Desktop, hanya path yang diselesaikan dengan cara yang berbeda, misalnya
Path.GetDirectoryName(Application.ExecutablePath)