C#反編譯一般使用Reflector。
此時工程中的資源文件被反編譯為二進制的.resources文件,這個文件就是.resx。
需要通過VS SDK中的工具ResGen.exe恢復,命令行是 ResGen ***.resources ***.resx,就可以恢復。
將此文件加到工程中,如有下面一個錯誤:
錯誤信息:System.Resources.MissingManifestResourceException:未能找到任何適合於指定的區域或非特定區域性的資源。請確保在編譯時已將“****.****.Resource.resources”正確嵌入或鏈接到程序集"****",或者確保所有需要的附屬程序集都可加載並已進行了完全簽名。
這個錯誤的主要問題就是沒有找到需要的資源文件(該文件為Resources.resx),
引用該文件的地方就是
System.Resources.ResourceManager manager = new System.Resources.ResourceManager("×××.Resources", typeof(Resources).Assembly);
而導致錯誤的原因就是"×××.Resources"的配置錯誤
解決方法:首先查看工程中時候存在Resources.resx相關的文件,
找到它在工程中的位置(不如說一般都是在:工程名.Properties 命名空間下),
最后更改配置為new System.Resources.ResourceManager("工程名.Properties.Resources", typeof(Resources).Assembly);
