С помощью комментариев Мерлина Моргана-Грэма я нашел решение, которое будет работать для меня.
Версия, описанная в Версия Tolerant Serialization действительно хорошаидея, но когда я использую только атрибут [Serializable].
Я забыл написать (моя ошибка), что я использую интерфейс ISerializable.Я обнаружил, что в конструкторе десериализации объект SerializationInfo имеет свойство MemberCount, которое решает мою проблему, если я только время от времени добавляю новые свойства / члены.С этой информацией, новые члены / свойства, которые не могут быть десериализованы из более старого файла, могут быть установлены по умолчанию или, возможно, я могу использовать некоторую форму приглашения.
Другой способ здесь будет использовать что-то вроде версии сборки вдесериализация, как первый десериализованный член.Это может решить проблемы десериализации с более сложными изменениями классов.
В любом случае, я согласен с Мерилин - «если вы не можете что-то написать, вы не должны создавать это».;)