I got the World serializer working, but when trying to deserialize the User Data, it threw an "out of range" exception in the "ReadSimpleType" method.
The serialized type name was not 'assembly qualified', so the type deserialization was failing, causing the type to be null - in turn causing a extra call to "ReadSimpleType" method. My project is referencing Farseer in an external assembly so
the full name was required for deserialization.
So in the Serializer.cs file, you can modify the WriteDynamicType method to use the assembly qualified name.
I know there could be an issue if the assembly information changes, but you could use a text editor to correct it. Otherwise, I am open to other suggestions =]
private void WriteDynamicType(Type type, object val)
// JDB - Use AssemblyQualifiedName to enable deserialization of types in other assemblies
XmlSerializer serializer = new XmlSerializer(type);
XmlSerializerNamespaces xmlnsEmpty = new XmlSerializerNamespaces();
serializer.Serialize(_writer, val, xmlnsEmpty);
Jan 19, 2013 at 9:11 PM
This discussion has been copied to a work item. Click
here to go to the work item and continue the discussion.