反編譯後的工程檔案用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) 用C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin下 resgen.exe 格式: resgen *.resources *.resx(.resx檔案最好與窗體.cs檔案同名)
2.將InitializeComponent方法中的物件manager替換為resources(沒錯,只替換變數名^_^,全部都換掉哦,最好的辦法就是更改manager的申明)
3.將資原始檔.resx放到窗體檔案.cs相同的資料夾下。
4.將所有窗體(.cs)從工程中排除,再新增(這樣可以省去將.resx檔案對映到.csproj的過程)。
http://htsoft.org/html/y2011/341_reflector-decompilation-net-file-repair.html