.NET 2.0中引入的VTS(版本容错序列, http://msdn.microsoft.com/en-us/library/ms229752(VS.80).aspx)如何处理在.net序列变化2.0
一个简单的测试项目显示,在2.0的默认行为是不是抛出一个异常系列化如果一个字段被添加到一个类中,然后试图从没有新字段的类实例的二进制序列化中反序列化该类的一个实例。
1.1中的默认行为是在二进制序列化位中缺少类中存在的字段时抛出序列化异常。除了破坏向后兼容性(依赖于抛出的异常的代码不再有效),还有一个更大的问题:在2.0中没有明显的方式来模拟1.1行为。
如何在2.0中模拟'丢失/额外字段'1.1行为的异常?
非常感谢, 米龙
这就是我的想法。但是一个包含两个字段(没有OptionalFieldAttribute,1.1和2.0上的相同代码)的类的简单测试会在1.1上引发序列化异常,并在2.0中静默使用默认值。 – 2009-04-09 13:22:15