Reflector反编译.NET文件后manager,base.AutoScaleMode修复


反编译后的工程文件用VS2010打开后,在打开窗体时会出现一系列错误提示:

第一种情况:

“设计器无法处理第 152 行的代码: base.AutoScaleMode = AutoScaleMode.Font; 方法“InitializeComponent”内的代码由设计器生成,不应手动修改。请移除任何更改,然后尝试重新打开设计器”。

解决方法就是:对所有System.Windows.Forms.命名空间里面的控件需要全命名空间的声明,例如里面上图的base.AutoScaleMode = AutoScaleMode.Font;就要改成base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
第二种情况:

“变量“manager”未声明或从未赋值。 ”

解决方法就是:本方法只限于在InitializeComponent中包含System.Resources.ResourceManager调用的窗体

1.资源文件格式转换,将.resources(二进制)文件转成.resx文件(XML)  XP用C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin下 resgen.exe,WIN7用C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin  CMD命令格式: resgen *.resources *.resx(.resx文件最好与窗体.cs文件同名)

2.将InitializeComponent方法中的对象manager替换为resources(没错,只替换变量名^_^,全部都换掉哦,最好的办法就是更改manager的申明)

3.将资源文件.resx放到窗体文件.cs相同的文件夹下。

4.将所有窗体(.cs)从工程中排除,再添加(这样可以省去将.resx文件映射到.csproj的过程)。

http://www.cnblogs.com/tonyepaper/archive/2012/01/29/2330799.html


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM