在运行时修改插件dll中的MSIL

时间:2010-11-10 21:35:27

标签: .net reflection cil

我们有一个.NET插件机制,但我们的SDK尚未冻结,因此我们不断进行重大更改。有时候这些只会改变套管或修改命名惯例。

所以,问题;在加载之前或之后进入dll并更改msil以便在运行时修复普通的SDK破坏有多难?

2 个答案:

答案 0 :(得分:4)

Cecil可能会对您有所帮助。

答案 1 :(得分:1)

加载后总是太迟了。 JIT编译器很可能已经将方法体转换为机器代码。特别是在Mono上。 DLL已被锁定,您无法再破解它。使用the profiler非常难以证明。

如果这很重要,请利用编辑+继续。