Bu soruyu ve bazı cevapları çok yararlı buldum, ancak yol sorunları vardı, bu yüzden bu cevap bin dizin yolunu bularak yükleme kitaplığını kapsayacaktır.
İlk çözüm:
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);
İkinci çözüm
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");
Arabirimler için aynı prensibi kullanabilirsiniz (bir sınıf oluşturuyorsunuz ancak arayüze döküm yapıyorsunuz), örneğin:
(Company.Project.Interfacename) instance = (Company.Project.Interfacename) assembly.CreateInstance("Company.Project.Classname");
Bu örnek web uygulaması içindir, ancak benzer Masaüstü uygulaması için kullanılabilir, örneğin yalnızca yol farklı bir şekilde çözülür, örneğin
Path.GetDirectoryName(Application.ExecutablePath)