【发布时间】:2012-08-01 09:48:52
【问题描述】:
我有以下情况。在我的 C# 应用程序中,我有一个使用 XmlSerializer 序列化的类。这个类非常复杂,我的类的一个对象作为应用程序文件保存在本地磁盘上,以后可以打开(经典的保存工作和重新打开工作)。我的问题是,在开发过程中,被序列化的对象的类可能会发生变化。我想要一个版本系统,它允许我的应用程序意识到保存的 xml 它属于旧版本但仍然可以打开。旧版本的应用也无法打开新的 xml 版本。
例如:
class ComplexObject
{
public string settings1;
public string settings2;
}
我序列化对象,在生产中发送应用程序。 明天我的课变成了
class ComplexObject
{
public string settings1;
public string settings2;
public string settings3;
}
我的新版本应用程序将如何打开旧类定义的序列化对象以及新类定义,在将文件加载到对象时不会出错(反序列化)
欢迎任何建议和基本示例!
谢谢
【问题讨论】:
标签: c# xml serialization versioning