我正在尝试创建在 Web 站点项目
中定义的类型的实例。类型名称是可配置的,因此是已知的,但对于程序集名称,无法在配置时告知名称,因为网站项目是由 ASP .Net 编译的。
var typeName = ConfigurationManager.AppSettings["typeName"];
var assemblyName = '.. get the assembly name ..';
var instance = Activator.CreateInstance(assemblyName, typeName);
return (IUserCredentials)instance.Unwrap();
有什么简单的方法可以使用此 CreateInstance
重载,还是我应该搜索所有加载的类型并按名称找到它?
此代码在网站项目中引用的另一个库中使用。
最佳答案
App_Code
是分配给包含驻留在 App_Code 目录类型中的类型的程序集的名称,因此您应该:
string assemblyName = "App_Code";
关于c# - 如何从另一个库创建在网站项目 (App_Code) 中定义的类型的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9803915/