所以我需要对DLL文件做一个非常简单的更改。如何重新编译IL
我已经用反射器成功地将dll文件导出到IL语言,并且找到了我需要做的改变(它只是改变一个URL)。因此,如果我在记事本中进行更改并保存,那么很容易,但现在我无法弄清楚如何将它重新构建到DLL文件中。我试图将它导出到一个可以工作的C#项目,但是构建它给了我很多错误。
VS不想打开它,因为导出到IL不提供项目文件。
所以我需要对DLL文件做一个非常简单的更改。如何重新编译IL
我已经用反射器成功地将dll文件导出到IL语言,并且找到了我需要做的改变(它只是改变一个URL)。因此,如果我在记事本中进行更改并保存,那么很容易,但现在我无法弄清楚如何将它重新构建到DLL文件中。我试图将它导出到一个可以工作的C#项目,但是构建它给了我很多错误。
VS不想打开它,因为导出到IL不提供项目文件。
想通了,完美的作品: 编译:使用记事本反汇编file.dll /out:file.il 编辑 重新编译:ILASM file.il/DLL /折叠/ NOLOGO/noautoinherit
..当然,你可以使用自己喜欢的反编译工具,如VS或dotpeek很好地查看代码,然后找到它在肮脏的IL版本编辑它。
我用Telerik JustDecompile。从一个DLL我可以创建我的项目(右键单击程序集/创建项目c#/ vb或IL),我打开VS,我改变,我重新编译。
测试它!
就像VisualStudio附带ildasm一样,它也附带ilasm。所以,你应该能够做到:
ILASM/DLL myapp.il
是的,只是试过,问题是dll转储产生7个文件(其中只有一个是.il文件),所以我找不到一种方法将它们全部导入到单个dll文件中。 –
你试过ilasm吗? – holtavolt
好问题;) – Coding4Fun
Reflexil.net也许 – Kalten