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);
本文介绍如何使用Reflector反编译C#工程中的资源文件,并将其恢复为.resx格式。针对反编译过程中可能出现的资源文件丢失问题,提供具体的解决方案,包括检查资源文件的存在性和正确配置资源管理器。

396

被折叠的 条评论
为什么被折叠?



