我有类似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");
...
}
但我更喜欢上面的解决方案。