Это - конечно, решение Вашей проблемы, но существует другая проблема, которая несколько подрывает Ваше намерение использовать "портативный" формат XML. Плохая вещь происходит, когда Вы решаете изменить классы в следующей версии Вашей программы, и необходимо поддерживать оба формата сериализации - новая и старая (потому что клиенты все еще используют свои старые файлы/базы данных, или они соединяются с сервером с помощью старой версии продукта). Но Вы не можете больше использовать этот serializator, потому что Вы использовали
type.AssemblyQualifiedName
, который похож
TopNamespace.SubNameSpace.ContainingClass+NestedClass, MyAssembly, Version=1.3.0.0, Culture=neutral, PublicKeyToken=b17a5c561934e089
, который является, содержит Ваши атрибуты сборки и версию...
Теперь, при попытке изменить свою версию блока, или Вы решаете подписать ее, эта десериализация не собирается работать...
Это свойство по умолчанию для элементов управления, которое может быть решено следующим образом: