.NET 中的对象图序列化和代码版本升级

2024-02-02

我需要将一些对象图序列化到光盘

如果我对一个类进行更改,然后尝试反序列化旧版本,我可能会遇到什么困难?

某些序列化器是否比其他序列化器更好地处理这个问题?

处理这种情况的标准方法是什么?

例如,在新版本的代码中,我是否需要保留所有旧的类,以便在反序列化旧文件时我可以对旧的类执行此操作,然后将数据迁移到新的类?更改类的名称/命名空间会破坏反序列化吗?

感谢您的任何建议


嗯,据我记得,问题开始于:

  • 向类添加新字段/属性;
  • 更改现有字段/属性的类型。

你可以有自定义序列化 http://msdn.microsoft.com/en-us/library/ty01x675.aspx自行处理版本控制问题。

但我建议使用DataContractSerializer http://msdn.microsoft.com/en-us/library/system.runtime.serialization.datacontractserializer.aspx随着最佳实践:数据合同版本控制 http://msdn.microsoft.com/en-us/library/ms733832.aspx对于最常见的情况。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

.NET 中的对象图序列化和代码版本升级 的相关文章

随机推荐