2016-03-14 105 views
3

所以我需要對DLL文件做一個非常簡單的更改。如何重新編譯IL

我已經用反射器成功地將dll文件導出到IL語言,並且找到了我需要做的改變(它只是改變一個URL)。因此,如果我在記事本中進行更改並保存,那麼很容易,但現在我無法弄清楚如何將它重新構建到DLL文件中。我試圖將它導出到一個可以工作的C#項目,但是構建它給了我很多錯誤。

VS不想打開它,因爲導出到IL不提供項目文件。

+4

你試過ilasm嗎? – holtavolt

+0

好問題;) – Coding4Fun

+0

Reflexil.net也許 – Kalten

回答

1

想通了,完美的作品: 編譯:使用記事本反彙編file.dll /out:file.il 編輯 重新編譯:ILASM file.il/DLL /摺疊/ NOLOGO/noautoinherit

..當然,你可以使用自己喜歡的反編譯工具,如VS或dotpeek很好地查看代碼,然後找到它在骯髒的IL版本編輯它。

0

我用Telerik JustDecompile。從一個DLL我可以創建我的項目(右鍵單擊程序集/創建項目c#/ vb或IL),我打開VS,我改變,我重新編譯。

測試它!

2

就像VisualStudio附帶ildasm一樣,它也附帶ilasm。所以,你應該能夠做到:

ILASM/DLL myapp.il

+0

是的,只是試過,問題是dll轉儲產生7個文件(其中只有一個是.il文件),所以我找不到一種方法將它們全部導入到單個dll文件中。 –