【发布时间】:2011-08-13 21:19:55
【问题描述】:
我已在ReflectionOnly 上下文中加载程序集A,以便获取有关类型及其方法的信息。至少有一个方法的返回类型是依赖程序集B 的一部分。
问题是程序集B 不可用且无法解析,因此会抛出以下FileNotFoundException:
无法加载文件或程序集“B”或其依赖项之一。 系统找不到指定的文件。
这种异常是意料之中的。但是,我已经看到 Reflector CAN 加载类型名称(这是我需要的),即使它无法解析依赖程序集。
有人知道如何在不获取FileNotFoundException 的情况下获取缺少的程序集中包含的类型名称吗?
编辑:
尝试访问ReturnType属性时抛出异常:
Type returnType = methodInfo.ReturnType;
【问题讨论】:
-
您能否发布一个代码示例并告诉我们究竟是哪一行引发了异常?
-
我不相信反射器使用反射 API ......它通过直接检查 IL 来构建自己的代码域
-
您会发现 Lutz Roeder 是一个非常酷的程序员。他没有使用Type,他直接解析程序集元数据。 Chuck Norris 也使用 IMetaDataAssemblyImport。
-
@Hans:我不确定 Lutz Roeder 是否真的做到了。出于某种原因,我认为他使用了
Mono.Cecil:)
标签: c# .net reflection