我正在将.NET框架类库迁移到.NET,库所做的一些事情是解析.NET程序集,提取任何可本地化的资源,并创建包含这些资源本地化版本的附属程序集,其中可能包括字符串、图像或表单。
我们使用DeserializingResourceReader解析程序集中的资源,这为我们提供了一个字典,从中获取并存储资源名称、值和类型的字符串表示。本地化后,我们使用TypeConverter实例将字符串中的资源信息转换回它们的类型,然后将它们传递给ResourceWriter.AddResource(string,object)并调用ResourceWriter.Generate(),但这在.NET中似乎不起作用,因为它引发了一个PlatformNotSupportedException警告:“此平台不支持二进制序列化资源”。
根据Microsoft,可以序列化到.resources文件的类型比在.NET框架中的要少。我检查了ResourceWriter.Generate()的源代码,并且确实有一个名为FindTypeCode的方法,它根据字符串、int等固定列表检查被序列化的每个资源的类型。如果找不到匹配,它就抛出PlatformNotSupportedException。
我找不到任何替代的方法,我们可以使用替代,所以我有点困惑,希望得到一些帮助,谢谢。
发布于 2022-10-25 12:01:44
https://stackoverflow.com/questions/74193668
复制相似问题