C# 如何使自定义文件类型可升级?
我有一个与我的应用程序关联的自定义文件类型,在这里我通过简单地将类实例序列化为文件来保存它 我希望能够通过向类添加更多属性来升级我的应用程序,也许还可以删除属性。我怎样才能让旧版本的应用程序与新文件一起工作——不管它能从新文件中得到什么,更重要的是,我怎样才能让新版本的应用程序使用旧文件?实现这一目标有什么共同的做法吗 在第一个版本发布之前,我会问这个问题——如何使文件类型易于升级C# 如何使自定义文件类型可升级?,c#,file,.net-4.0,C#,File,.net 4.0,我有一个与我的应用程序关联的自定义文件类型,在这里我通过简单地将类实例序列化为文件来保存它 我希望能够通过向类添加更多属性来升级我的应用程序,也许还可以删除属性。我怎样才能让旧版本的应用程序与新文件一起工作——不管它能从新文件中得到什么,更重要的是,我怎样才能让新版本的应用程序使用旧文件?实现这一目标有什么共同的做法吗 在第一个版本发布之前,我会问这个问题——如何使文件类型易于升级 (谷歌搜索遇到了很多“噪音”。也许你应该看看协议缓冲区的C#实现。这是谷歌开发的一种序列化(http://code
(谷歌搜索遇到了很多“噪音”。也许你应该看看协议缓冲区的C#实现。这是谷歌开发的一种序列化(http://code.google.com/p/protobuf-net/)它使用id进行属性标识。因此,序列化数据不会被属性名等绑定。正如您在发布第一个版本之前所问的那样,我及时告诉您:从长远来看,您不会满意BinaryFormatter我认为您应该将存储对象模型与“操作对象”分开。 仅仅序列化程序的运行时状态是一种简单的序列化方法,但它可以防止再次对这些对象进行重大更改
我认为proto-buf很好,因为版本控制路径非常清晰。另外,XmlSerializer序列化类很好,因为它们可读性很好。我认为有两种方法
- 你可以使用瑜伽士提到的东西
- 或者你可以转换成新的格式——VisualStudio,Royal TS,我想还有更多的人会这样做李>