反编译c#的相关问题

最近硬盘坏掉了,有一个项目没有备份,只好用Exe 文件反编译出来用,查了一下相关的文章用到的工具如下:

  • ILSpy_Master_2.1.0.1603_RTW_Binaries
  1. 直接生成时,有些奇怪,不能一次性生成 所有的 cs 文件与 resource
  2. 但是选择 saveCode 后 “保存类型”选择 all files 先保存一次。
  3. 再 选择 saveCode 后 “保存类型”选择 c# porject 再保存一次。可以保存所有的 resource 与 cs 文件。(不知道别的机器上是不是这样?)
  • 再可以用 resgen 命令把 resource 变成 resx 文件

  可以找一工个:ConvertResource 一次性把所有的 resource 变成 resx

需要把其中的

  <matadata> 换成 <data>

  </matadata> 换成 </data> (但是 使用 resgen 就不需要这样,本人使用的是 visual studio 2008 中文版 )

  • 在窗体初始化InitializeComponent中添加 System.ComponentModel.ComponentResourceManager manager = new ComponentResourceManager(typeof(frmLogin));时 再切换到设计界面提示错误 变量“manager”未声明或从未赋值。

    我将变量 manager重命名resources时错误消失。( 注意大小写)

  • base.FormBorderStyle = FormBorderStyle.FixedSingle;换成

    base.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;

  • base.AutoScaleMode = AutoScaleMode.Font;换成

    base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;

    等几项.

  • 与上面差类似的问题。system.Drawing 或 Print 都要加全,最后就是处理反编译工具,出错的一些代码。