Я использую DataContractSerializer для сохранения большого количества различных классов, которые составляют древовидные структуры, в файлы XML. Я на начальных этапах написания этого программного обеспечения, поэтому на данный момент все различные компоненты меняются совсем немного. Тем не менее, каждый раз, когда я вносил изменения в класс, я в конечном итоге нарушал способность своих программ открывать ранее сохраненные файлы.
Мои древовидные структуры все еще будут функционировать, если компоненты отсутствуют. Есть ли какой-то способ сказать DataContractSerializer пропустить данные, у которых возникла проблема с десериализацией, и продолжить работу, а не просто завершить работу с первой возникшей проблемой?
Я знаю, что одним из ответов будет написать мой собственный класс сериализации, но я бы предпочел не тратить время на это. Я прыгал, чтобы по-прежнему иметь возможность воспользоваться DataContractSerializer, но без этого ситуация была все или ничего.