nro*_*fis 3 .net c# .net-assembly mono.cecil
出于某种原因,当我尝试加载一些程序集并对其进行分析时,出现错误 Mono.Cecil.AssemblyResolutionException: Failed to resolve assembly...
我真的不在乎为什么会抛出这个异常,我知道缺少的程序集在哪里。
除了AppDomain.CurrentDomain.AssemblyResolveMono.Cecil 之外,还有一种方法可以处理诸如事件之类的事情吗?我可以手动加载丢失的程序集,但我不知道如何加载。
那么,如何为 Mono.Cecil 加载程序集?
显然 Mono.Cecil 支持这一点。当您在AssemblyDefinition.ReadAssembly里面加载程序集时,ReadParameters您可以将AssemblyResolver属性更改为您的解析器。
要创建解析器,只需从BaseAssemblyResolverlike继承:
private class CustomResolver : BaseAssemblyResolver
{
private DefaultAssemblyResolver _defaultResolver;
public CustomResolver()
{
_defaultResolver = new DefaultAssemblyResolver();
}
public override AssemblyDefinition Resolve(AssemblyNameReference name)
{
AssemblyDefinition assembly;
try
{
assembly = _defaultResolver.Resolve(name);
}
catch (AssemblyResolutionException ex)
{
assembly = ...; // Your resolve logic
}
return assembly;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3002 次 |
| 最近记录: |