CSFramework开发框架使用.NET Reactor加壳软件导致多语言失效
CSFramework开发框架使用.NET Reactor加壳软件导致多语言失效
CSFramework国际化多语言原理
- 每条语言资料对应一个唯一的对象标识(ObjectID);
- 通过枚举窗体的组件成员名称,读取.Text属性值,并自动生成语言资料;
- 用户维护LanData资料,界面显示修改后的内容;
- 对象类型(ObjectType)分为Message(消息)和Control(控件);
原因:使用 Obfuscation 混淆
使用 ILSpy查看代码,发现组件名称全部混淆改名
语言资料库的数据:
原因:使用 Obfuscation 混淆每次生成新的组件名称,导致设定好的多语言资料无法匹配组件名称。
解决方案
若使用国际化多语言,只需要勾选 NecroBit 和 AntiILDASM
代码保护后保留窗体的组件名称
版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
NewDoc C/S框架网