【发布时间】:2010-04-28 12:42:50
【问题描述】:
设置如下:
纯 DotNET 类库由非托管桌面应用程序加载。类库充当插件。这个插件加载自己的小插件(所有 DotNET 类库),它通过将 dll 作为字节流读入内存来实现,然后
Assembly asm = Assembly.Load(COFF_Image);
当这些小插件引用其他 dll 时,就会出现问题。由于它们是通过内存而不是直接从磁盘加载的,因此框架通常找不到这些引用的程序集,因此无法加载它们。
我可以向我的项目添加一个 AssemblyResolver 处理程序,并且我可以看到这些引用的程序集消失了。我对在磁盘上哪里可以找到这些引用的程序集有一个相当不错的想法,但是如何确保我加载的程序集是正确的呢?
简而言之,我如何可靠地从 System.ResolveEventArgs.Name 字段转到 dll 文件路径,假设我有一个该 dll 可能隐藏的所有文件夹的列表)?
【问题讨论】:
标签: c# assemblies resolveassemblyreference