我已在A
上下文中加载了程序集ReflectionOnly
,以获取有关类型及其方法的信息。至少有一个方法具有返回类型,它是依赖程序集B
的一部分。
问题是程序集B
不可用且无法解析,因此引发了FileNotFoundException
:
无法加载文件或程序集“B”或其某个依赖项。 系统找不到指定的文件。
这种例外是预期的。但是,我已经看到Reflector
CAN加载类型名称(这是我需要的),即使它无法解析依赖项汇编。
有人知道如何在不获取FileNotFoundException
的情况下获取缺少的程序集中包含的类型名称吗?
修改
尝试访问ReturnType
属性时抛出异常:
Type returnType = methodInfo.ReturnType;
答案 0 :(得分:1)
您可以尝试使用其他库来加载此程序集,例如Mono.Cecil
。
答案 1 :(得分:0)
好的......有一种“奇怪的”可能的解决方案,我说,这很“奇怪”。
每次尝试加载在AppDomain中找不到的类时,都会引发AppDomain.TypeResolve事件。
现在......为了简单起见,我们暂时将多线程和多个app域问题分开,但是如果你向AppDomain.Current.TypeResolve添加一个处理程序,你可以找到缺少的类的名称。 / p>