gpt4 book ai didi

c# - Mono Cecil 添加缺少的程序集

转载 作者:行者123 更新时间:2023-11-30 20:30:37 27 4
gpt4 key购买 nike

出于某种原因,当我尝试加载一些程序集并对其进行分析时,出现错误 Mono.Cecil.AssemblyResolutionException: Failed to resolve assembly...

我真的不关心为什么会抛出这个异常,我知道缺少的程序集在哪里。

有一种方法可以处理类似 AppDomain.CurrentDomain.AssemblyResolve 事件但对于 Mono.Cecil?我可以手动加载缺少的程序集,但我不知道如何加载。
那么,如何为 Mono.Cecil 加载程序集?

最佳答案

显然 Mono.Cecil 支持这一点。当您在 ReadParameters 中使用 AssemblyDefinition.ReadAssembly 加载程序集时,您可以将 AssemblyResolver 属性更改为您的解析器。

要创建解析器,只需继承 BaseAssemblyResolver,例如:

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;
}
}

关于c# - Mono Cecil 添加缺少的程序集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44524414/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com