AS>Ну если у вас определены два типа с одинаковыми именами но в разных сборках — это будут разные типы.
нет, если бы дело было в этом, то exaption был бы что-то вроде Unable to cast object of type 'myNamespace1.myClass' to type 'myNamespace2.myClass'
в любом случае exaption выбивает на строчке
sr.Serialize(w,
obj,
new XmlSerializerNamespaces(new XmlQualifiedName[] { new XmlQualifiedName(string.Empty) })
);
а второй параметр этой строки — object, и случается такое только если один из файлов в длл