c# - 在运行时加载程序集

标签 c# assemblies

我在运行时加载程序集(但项目未引用该程序集)

Assembly a = Assembly.LoadFile(@"fulpath\assName.dll");

之后我想通过反射使用这个 dll 中的一个类

obj = Activator.CreateInstance(Type.GetType("assemblyqualifiedname"));
mi = obj.GetType().GetMethod("methodname");
mi.Invoke(obj, null);

不幸的是,bull 从 Type.GetType("assemblyqualifiedname"); 返回

我不明白,为什么我必须向项目添加引用 od dll?

加载程序集应该足够了,但事实并非如此。

谢谢...

最佳答案

手动加载程序集时,应使用其 getType 方法。 Type.getType 将使用调用程序集及其引用来搜索类型。 a.GetType 将找到类型,因为它会在加载的程序集中查找。

关于c# - 在运行时加载程序集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/993574/

相关文章:

C#:合并多数据库驱动接口(interface)

c# - 如何查看类型参数的实际运行类型?

ASP.NET 托管环境/shadowCopyBinAssemblies

entity-framework - Entity Framework 对不同程序集的继承

c# - 如何使用正则表达式强制执行单行?

c# - 有什么方法可以从R中调用.NET的字符串库吗?

c# - Console.ReadLine() 跳过第一个输入字符

vb.net - 从另一个项目引用 NServiceBus 程序集时出现 "Reference required"错误

visual-studio - Silverlight 类库中的程序集引用且仅在 xaml 中使用,未打包在 XAP 中

c# - 在 `ZipArchive` 命名空间中找不到 “System.IO.Compression”