当动态加载dll时,Type.GetType()返回null

时间:2015-06-19 07:15:11

标签: c# .net

我有类似this question中的类似问题。

当我在运行时将程序集加载到appDomain:

    AppDomain.CurrentDomain.Load(assemblyName);

然后

    Type.GetType("Namespace, AssemblyName");

返回null,而完全限定名称返回正确的类型

    Type.GetType("Namespace, AssemblyName, Version, Culture, PublicKeyToken");  

问题是为什么部分限定名称在这种情况下不起作用,有没有办法强制它起作用?

我知道我可以迭代加载的程序集并以这种方式获取类型

foreach (var assembly in AppDomain.CurrentDomain.GetAssemblies())
{
    assembly.GetType("Namespace");
    ...
}

但我更喜欢上面的解决方案。

0 个答案:

没有答案