При необходимости сериализации объекта, и возможно, что версия сборки изменилась при десериализации. Кроме того, может случиться так, что объект немного изменится.
XmlSerializer не хранит информацию о типе, и если объект немного изменяется, он просто не выходит из строя, но XmlSerializer не может сериализовать частные или внутренние свойства из суперкласса, который я не могу пометить атрибутами.
Итак, я взглянул на DataContractSerializer. Выглядит нормально, так что проблема с частными / внутренними свойствами суперкласса будет решена, все свойства должны быть помечены, и они мне не нужны, но как насчет информации о типе? И как ведет себя DataContractSerializer, если некоторые свойства удалены, переименованы или добавлены?