Проект, над которым я работаю, требует сериализации структуры данных перед завершением работы и восстановления ее состояния из этих сериализованных данных при повторном запуске.
В прошлом году мы создавали .NET 1.1 и столкнулись с сложной проблемой, когда
- наш код работал на .NET 2.0
- клиент обновил какое-то программное обеспечение, которое каким-то образом установило 1.1 по умолчанию
- наш код работал на .NET 1.1 и не смог десериализовать свое сохраненное состояние
Эта конкретная проблема была «решена» путем запрета этого конкретного обновления программного обеспечения, и не должно быть проблемой сейчас, когда мы ориентируемся на платформу .NET 2.0 (так что мы не можем работать на 1.1).
Какова вероятность того, что эта сериализация может снова несовместимо измениться между 2.0 и более новыми фреймворками? Если мы используем <supportedVersion>
, чтобы исправить наш код на 2.0.50727, каковы шансы изменений между 2.0.50727.1434 и 2.0.50727.nnnn (какой-нибудь будущий выпуск)? Сериализуемые структуры данных представляют собой массивы, карты, строки и т. Д. Из стандартных библиотек классов.
Кроме того, гарантировано ли, что платформа 2.0.50727 всегда будет установлена даже после дальнейших обновлений .NET? Указатели на документацию Microsoft приветствуются.