編程工具 占存:10.65MB 時間:2020-05-19
軟件介紹: Reflector是由微軟員工Lutz Roeder編寫的免費程序,.NET Reflector工具可以將.NET程序集中的中間...
.NET Reflector反編譯生成項目后重新編譯可能會存在一些錯誤,這個時候,我們需要將其修改一下就可以正常編譯了,那么究竟該怎么修復(fù)呢?下面小編就將具體的操作方法分享如下。
創(chuàng)建測試項目:
創(chuàng)建一個簡單的工程,一個Winform窗體,包含一個背景圖片。
反編譯測試程序:
將測試程序添加到.NET Reflector
選中測試程序后右鍵選擇導(dǎo)出
反編譯項目修復(fù):
問題現(xiàn)象:base.AutoScaleMode = AutoScaleMode.Font; 方法“InitializeComponent”內(nèi)的代碼由設(shè)計器生成,不應(yīng)手動修改。請移除任何更改,然后嘗試重新打開設(shè)計器。
處理方法:對所有System.Windows.Forms.命名空間里面的控件需要全命名空間的聲明。
示例:base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
問題現(xiàn)象:變量“manager”未聲明或從未賦值。
處理方法:
1)先將resources文件轉(zhuǎn)成resx資源文件,命名匹配與之對應(yīng)的*.cs文件名稱,且將其放在與之對應(yīng)的*.cs代碼同一目錄(如將WindowsFormsApplication1.Form1.resources編譯成Form1.resx)。編譯工具在C:Program Files (x86)Microsoft SDKsWindows(Win7Win8),C:Program FilesMicrosoft SDKsWindowsv7.0Abin下 resgen.exe(XP)
CMD命令格式: resgen *.resources *.resx,如下:
注意:生成resx資源文件后排除與之對應(yīng)的*.cs文件而后重新添加便可將.resx文件映射到項目中。
2)將InitializeComponent方法中的對象manager替換為resources(替換變量名)
問題現(xiàn)象:System.Resources.MissingManifestResourceException: 未能找到任何適合于指定的區(qū)域性或非特定區(qū)域性的資源。請確保在編譯時已將“xxxx.Properties.Resources.resources”正確嵌入或鏈接到程序集“xxxx”,或者確保所有需要的附屬程序集都可加載并已進(jìn)行了完全簽名。
處理方法:重新添加圖片的資源即可
.NET Reflector反編譯項目修復(fù)方法小編就分享到這里了,希望可以幫助到大家哦。