2010-11-10 44 views
0

我們有一個.NET插件機制,但是我們的SDK沒有被凍結,所以我們每時每刻做出重大更改。有時候這些僅僅意味着修改套件或修改命名約定。在運行時修改插件DLL中的MSIL

所以,問題;在它加載之前或之後進入一個dll有多難?並且改變msil以便在運行時修復一些簡單的SDK破壞?

+1

如果您在運行時加載dll之前有權訪問dll,那麼您可以使用Mono.Cecil對其進行修改,正如迭戈所建議的那樣。我知道有幾個用戶使用它來處理重大更改。 – 2010-11-10 22:57:30

回答

1

加載後總是太晚了。 JIT編譯器很可能已經將方法體轉換爲機器碼。特別是在單聲道。該DLL被鎖定,你不能再破解它。使用the profiler是很難證明的。

槓桿編輯+繼續,如果這很重要。

+0

謝謝。如果不是不可行的話,我認爲這將是非常困難的。 – 2010-11-10 22:45:46

4

Cecil可能會幫助你。