C #версии сериализованных объектов

У меня следующая ситуация. В моем приложении C #у меня есть класс, который я сериализую с помощью XmlSerializer. Класс довольно сложный, и объект моего класса сохраняется на локальном диске в виде файла приложения, который можно открыть позже (классическое сохранение работы и повторное открытие работы ). Моя проблема заключается в том, что во время разработки класс сериализуемого объекта может измениться. Я хотел бы иметь систему версий, которая позволяет моему приложению понимать, что сохраненный xml принадлежит более старой версии, но все еще может быть открыт. Старые версии приложений также не могут открывать новые версии xml.

Например:

class ComplexObject
{
   public string settings1;
   public string settings2;
}

Я сериализую объект, отправляю приложение в производство. Завтра мой класс стал

class ComplexObject
{
   public string settings1;
   public string settings2;
   public string settings3;
}

Как моя новая версия приложения будет открывать сериализованные объекты старых определений классов, а также новое определение класса без ошибок при загрузке файла в объект (десериализация)

Любые предложения и основные образцы приветствуются!

Спасибо

7
задан Iftemi Alin 1 August 2012 в 09:48
поделиться