我有一个损坏的程序集,我想对其进行反射(reflection),它并没有严重损坏,只是找不到引用的程序集,因此它确实无法通过 PEVerify。但是....Assembly.LoadFrom() 仍然会加载它并且 GetTypes() 会抛出一个 ReflectionTypeLoadException,.LoaderExceptions 数组告诉我什么引用的程序集找不到。在这一点上,我被挡住了。

然而,伟大的小工具 Reflector 能够更进一步并实际显示包含的类型,并通过给我一个弹出对话框来浏览它来优雅地处理丢失的引用问题。我的问题是,在 GetTypes() 失败后,反射器如何设法获取类型?

最佳答案

Reflector 不使用 System.Reflection 来分析程序集。

我不知道 Reflector 使用哪个库,但您可能想看看 Cecil

关于c# - 当 Assembly.GetTypes() 由于缺少引用的程序集而失败时,反射器如何显示类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1726428/

10-17 00:44