Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 在运行时修改插件dll中的MSIL_.net_Reflection_Cil - Fatal编程技术网

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

.net 在运行时修改插件dll中的MSIL,.net,reflection,cil,.net,Reflection,Cil,我们有一个.NET插件机制,但是我们的SDK还没有被冻结,所以我们时不时地进行破坏性的更改。有时,这些只是改变了大小写或修改了命名约定 所以,问题,;加载之前或之后进入dll并更改msil,以便在运行时修复微不足道的SDK损坏,这有多困难?可能会帮助您。可能会帮助您。加载后总是太晚。JIT编译器很可能已经将方法体转换为机器代码。尤其是单声道。DLL已锁定,您无法再破解它。使用是很难证明的 如果这很重要,请利用“编辑+继续”。加载后总是太迟。JIT编译器很可能已经将方法体转换为机器代码。尤其是单声

我们有一个.NET插件机制,但是我们的SDK还没有被冻结,所以我们时不时地进行破坏性的更改。有时,这些只是改变了大小写或修改了命名约定


所以,问题,;加载之前或之后进入dll并更改msil,以便在运行时修复微不足道的SDK损坏,这有多困难?

可能会帮助您。

可能会帮助您。

加载后总是太晚。JIT编译器很可能已经将方法体转换为机器代码。尤其是单声道。DLL已锁定,您无法再破解它。使用是很难证明的


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

加载后总是太迟。JIT编译器很可能已经将方法体转换为机器代码。尤其是单声道。DLL已锁定,您无法再破解它。使用是很难证明的


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

谢谢。我想如果不是不可行的话,那将是非常困难的。谢谢。我认为如果不是不可行的话,这将是非常困难的。如果你在运行时加载dll之前就可以访问它,你可以使用Mono.Cecil来修改它,就像迭戈·苏吉尔所得到的那样。我知道有几个用户使用它来处理破坏性的更改。如果您在运行时加载dll之前有权访问它,您可以使用Mono.Cecil来修改它,就像迭戈·苏吉尔所得到的那样。我认识一些用户,他们用它来处理破坏性的更改。