Reflector反編譯.NET文件後修復【轉】

 

反編譯後的工程文件用VS2010打開後,在打開窗體時會出現一系列錯誤提示:html

第一種狀況:設計

「設計器沒法處理第 152 行的代碼: base.AutoScaleMode = AutoScaleMode.Font; 方法「InitializeComponent」內的代碼由設計器生成,不該手動修改。請移除任何更改,而後嘗試從新打開設計器」。orm

解決方法就是:對全部System.Windows.Forms.命名空間裏面的控件須要全命名空間的聲明,例如裏面上圖的base.AutoScaleMode = AutoScaleMode.Font;就要改爲base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
第二種狀況:htm

「變量「manager」未聲明或從未賦值。 」對象

解決方法就是:本方法只限於在InitializeComponent中包含System.Resources.ResourceManager調用的窗體資源

1.資源文件格式轉換,將.resources(二進制)文件轉成.resx文件(XML)  用C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin下 resgen.exe  格式: resgen *.resources *.resx(.resx文件最好與窗體.cs文件同名)it

2.將InitializeComponent方法中的對象manager替換爲resources(沒錯,只替換變量名^_^,所有都換掉哦,最好的辦法就是更改manager的申明)io

3.將資源文件.resx放到窗體文件.cs相同的文件夾下。編譯

4.將全部窗體(.cs)從工程中排除,再添加(這樣能夠省去將.resx文件映射到.csproj的過程)。變量

 

http://htsoft.org/html/y2011/341_reflector-decompilation-net-file-repair.html

相關文章
相關標籤/搜索