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