c# - 如何从另一个库创建在网站项目 (App_Code) 中定义的类型的实例

标签 c# asp.net activator

我正在尝试创建在 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/

相关文章:

C# 获取 %AppData% 的路径

c# - 有没有办法为 WebAPI 项目生成 C# HTTPClient 包装器?

c# - 如何使用 Activator.CreateInstance 将泛型实例化为 using block 的一部分?

C# foreach 循环导致 CS 0246 Type or namespace could not be found

c# - Activator.CreateInstance() 的麻烦

c# - 什么是正确的客体关系? (C#)

c# - 如何删除 MenuStrip 子菜单边距?

c# - Json.Net 无法序列化为流,但可以很好地序列化为字符串

c# - 在所有程序集中查找类型

c# - RabbitMQ - QueueDeclare 永远挂起