Вы можете указать типы / известные типы, но не информацию об участнике AFAIK. XmlSerializer
немного более простительно ... есть ли вероятность, что старые типы использовали атрибуты xml? (а не атрибуты контракта с данными).
Другой вариант - предоставить IDataContractSurrogate
- но это не тривиально.
Есть ли шанс, что вы можете украсить класс старыми атрибутами и атрибутами (и т. Д.) Для любого нового используемого вами механизма?
Если данные простые (т.е. только один или два типа в простых отношениях), вы можете использовать параллельный набор классов для десериализации, затем скопировать данные (свойство-свойство-свойство и т. Д. ) в новую структуру данных и повторно сериализовать. С усложнением модели это становится сложнее.