.NET 2.0 introduced VTS (Version Tolerant Serialization, http://msdn.microsoft.com/en-us/library/ms229752(VS.80).aspx )
A simple test project reveals that the default behavior in 2.0 is to not throw a serialization exception if a field is added to a class, then an attempt is made to deserialize an instance of that class from a binary serialization of a class instance that didn't have the new field.
The default behavior in 1.1 is to throw a serialization exception if a field present in the class is missing in the binary serialized bits.
Besides breaking backwards compatibility (code relying on the exceptions being thrown doesn't work anymore), there's a bigger problem: there is no obvious way to emulate the 1.1 behaviour in 2.0.
How do I emulate the 'throw exception on missing/extra fields' 1.1 behavior in 2.0?
Many thanks, Miron