- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
出于某种原因,当我尝试加载一些程序集并对其进行分析时,出现错误 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/
我正在使用 Mono.Cecil 生成一个程序集,该程序集包含一个派生类,该派生类覆盖导入的基类中的特定方法。覆盖方法是一种“隐式”覆盖。问题是我无法弄清楚如何将其指定为覆盖。 我正在使用以下代码来创
我正在使用Mono.Cecil DLL 文件并编写此代码: AssemblyDefinition sourceAssembly = AssemblyFactory.GetAssembly(assemb
我正在尝试从 .NET 类型获取 Mono.Cecil TypeDefinition,但没有成功。 我正在使用这样的代码: var type = typeof(MarkdownMonster.AppC
我正在使用 Cecil 来尝试读取我的属性属性: [AttributeUsage(AttributeTargets.Method, AllowMultiple = false, Inherited =
我有以下方法: public void DoSomething() { Console.WriteLine(""); } 我想用 Mono Cecil 修改这段代码。我想在方法中创建自定义类的实例
我想通过 Mono.Cecil 添加一个新方法,它有一个输出参数,比如: private static bool XXXXX(out Int32 a) 我尝试了以下代码来添加此参数 TypeRefer
如何通过名称获取基类方法的 MethodReference? 我试过了 type.BaseType.Resolve().Methods; 如果我将包含基类的 dll 添加到 assemblyresol
我一直在寻找一个新手问题,但找不到一个简单的例子。谁能给我一个简单的例子,说明如何将 MethodBody 放入最可用的字符串结果中?喜欢: using Mono.Cecil; using Mono.
Cecil中有类似Reflection.Emit.DynamicMethod的东西吗?谢谢。 动态方法 编辑: 下面的事情呢? EmitCall(例如 IL.EmitCall(OpCodes.Call
出于某种原因,当我尝试加载一些程序集并对其进行分析时,出现错误 Mono.Cecil.AssemblyResolutionException: Failed to resolve assembly..
我正在使用 Mono.Cecil 编辑我的目标方法的 IL 代码,以便我可以记录该方法的入口点,而无需编辑实际代码。我能够将调用指令插入到可以执行日志记录操作的方法中。但我不知道如何记录我的目标方法的
我正在尝试重写一个属性的 get 方法: get { return dataString; } 到: get { string temp = dataString;
我正在使用 Mono.Cecil 在属性 setter 中注入(inject)一些指令,并且在注入(inject) Brfalse_s 指令时出现奇怪的错误。这是代码,它简短而简单。 private
我正在使用 Mono.Cecil 在自动实现的属性 setter 中注入(inject)一些 IL 代码。问题是,我可以从 TypeDefinition.Fields 对象中获取对它的引用,但是当我注
我遵循了提示 here ,我什至将以下几行放入: var MSILWorker = prop.SetMethod.Body.GetILProcessor(); MSILWorker.Body.Init
任务: 查找所有调用函数 public static void WriteString(int index0, string s, int index1) { Console.WriteLin
我怎样才能像这样转动字符串: "call System.Console.WriteLine" "ldstr \"hello\"" 带操作数的指令? 最佳答案 如果您现在如何使
好吧,这个问题可能看起来很奇怪,但它很简单——我的意思是如果我在反编译代码中有一个“goto”(brtrue 等),比如示例 br IL_0003 call ***** IL_0003: ret 然后
有没有办法在代码中获取str1? [MyAttribute("str1")] class X {} Mono.Cecil.CustomAttribute.Fields 的实例是空的。 最佳答案 在 .
我的项目中的静态构造函数一直存在一些问题。我需要向类型“”添加一个静态构造函数,以便调用我的资源解密方法。 在下面的 gif 中,您会看到我遇到的问题。 我还将包含代码片段。 创建cctor的代码:
我是一名优秀的程序员,十分优秀!