If you're using C# 2005 you can use the [OptionalFieldAttribute] on new class variables, and when you deserialize the class, the vars that have the above tag wont be required and therefore wont throw an exception. If you're using C# 2003, you can look into manually controlling the serialization process. BTW: M$ is giving away C#, VB, and C++ express for free until Nov. 2006. If you get them before then, you will never have to pay for them. You can download CD images of each.