我在运行时加载程序集(但项目未引用该程序集)
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/