问题标签 [mono.cecil]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2103 浏览

inheritance - Mono.Cecil:从其他程序集中调用基类的方法

如何按名称获取对基类方法的 MethodReference?

我试过了

如果我将包含基类的 dll 添加到 assemblyresolver,它会返回方法。但是如果我使用

(其中 baseMethod 是通过从已解析的 TypeDefinition 中获取方法找到的)生成的 IL 是不可读的,即使 Reflector 冻结并退出。

现在一些IL:
如果在类型上调用私有方法:

如果在基类型上调用受保护的方法:

那么,如何使用 Mono.Cecil 生成后者?

0 投票
1 回答
1091 浏览

c# - Mono.Cecil 之类的 Type.GetInterfaceMap?

System.Reflection.Type包含GetInterfaceMap,它有助于确定哪些方法从接口实现某些方法。

Mono.Cecil是否包含这样的内容?或者如何实现这种行为?

0 投票
1 回答
2772 浏览

generics - Mono.Cecil:从其他程序集中调用 GENERIC 基类的方法

我正在跟进我之前的问题:Mono.Cecil: call base class' method from other assembly
我正在做同样的事情,但如果我的基类是通用的,它就不起作用。

它编织了以下代码:

代替

有什么要改变的?

0 投票
4 回答
2130 浏览

c# - Mono.Cecil type.IsAssignableFrom(derivedType) 等效

我正在使用 Mono.Cecil 在 Assembly 中查找派生自给定的类型。通常可以使用 IsAssignableFrom() 方法完成,但我无法在 Cecil 中找到它的等价物。有没有这样的方法或其他方法来检查它?谢谢迈克

0 投票
1 回答
163 浏览

c# - MonoCecil Type.IsCOMObject 等效吗?

我想创建一个采用 TypeDefinition 并告诉我它是否代表 COM 对象的方法。该方法也应该适用于 .NET 4.0“嵌入式 COM 互操作类型”的情况。

知道我该怎么做吗?

0 投票
2 回答
492 浏览

c# - NRefactory 缺少 dll

大家好,我尝试使用 NRefactory(Vb) https://github.com/icsharpcode/NRefactory/但它没有附带 mono.cecil.dll 所以我也下载了它,但是当我将它合并在一起时版本似乎已关闭(我有错误 Mono.Collections 缺少类)

有人似乎能够让 NRefactory 工作吗?

编辑:顺便说一句,我已更改为 Mono.Cecil 0.9.4。但是,当我尝试构建 ICSharpCode.NRefactory 时,我遇到了一些错误:

可以找到“IsBestFitDisabled”并且没有扩展方法“IsBestFitDisabled”接受“Mono.Cecil.PInvokeInfo”类型的第一个参数(您是否缺少 using 指令或程序集引用?) C:\Users\Joseph\Desktop\Test\ NRefactory\ICSharpCode.NRefactory\TypeSystem\CecilLoader.cs 376 14 ICSharpCode.NRefactory 帖子)

0 投票
1 回答
2011 浏览

c# - 使用 Mono.Cecil 从 ByReferenceType 获取泛型参数

我有一个获取参数的方法,例如:

使用 Cecil 枚举参数会产生一个 ByReferenceType。调用 GetElementType() 以尝试取消对参数的引用会返回带有全名的 TypeReference:

不知何故,它失去了泛型参数,不再是 GenericInstanceType。

如何正确取消引用 byref 参数,并获得实际的泛型实例类型?

0 投票
2 回答
286 浏览

silverlight - KindOfMagic(INotifyPropertyChange 属性)不适用于 Silverlight 5 beta?

http://kindofmagic.codeplex.com/是一个很酷的项目,它只使用属性而不是编写冗长的属性设置器来实现 INotifyPropertyChanged 接口。据我了解,这是一个使用 Mono.Cecil 操作 IL 的 MS 构建任务。

但是 - 它似乎不适用于 Silverlight 5 beta 项目。至少不在我的机器上。有人可以证实这一点吗?

有谁知道原因,为什么它适用于 Silverlight 4 但与版本 5 中断?莫诺塞西尔?

(不幸的是,我在 Codeplex 项目网站上没有得到答案。)

干杯,托马斯

0 投票
1 回答
1026 浏览

c# - How to provide method body for extern method with Mono.Cecil

I'm using the MS C# compiler to compile methods like this:

The compiled method has RVA = 0 (Relative Virtual Address).

Then, with Mono.Cecil 0.9.3, I want to fill up a method body for it.

I do it like this:

When trying to save the assembly, though, I get an error:

How can I make it work?

0 投票
2 回答
661 浏览

windows-phone-7 - 如何使用 CCI 或 Mono.Cecil 从头开始​​创建新的 Windows Phone 7 程序集

我正在开发一种为 WP7 生成程序集的工具。我是从完整的框架中做到这一点的。由于 Reflection.Emit 不适用于 WP7,但无论是 CCI 还是 Mono.Cecil,我都想知道是否有办法从头开始创建新程序集。我已经知道我可以修改现有的程序集,但能够创建一个将非常有用。我想一种解决方法是在 Visual Studio 中生成一个空程序集并将其保留为模板,但我认为应该有更好的方法。