InvalidCastException для двух объектов одного типа
У меня есть странная проблема, с которой я не могу справиться. Класс в модели моего mvp-проекта, спроектированного как синглтон, вызывает InvalidCastException. Источник ошибки находится в этой строке кода, где десериализованный объект назначается переменной экземпляра класса:engineObject = (ENGINE)xSerializer.Deserialize(str);
Это происходит всякий раз, когда я пытаюсь добавить один из моих пользовательских элементов управления в форму или в другой UC. Все мои UC имеют специальный презентатор, который обращается к вышеупомянутой переменной экземпляра класса singleton. Вот что я получаю, когда пытаюсь добавить UC куда-нибудь:
System.TypeInitializationException: инициализатор типа для MVP.Model.EngineData выдал исключение. ----> System.InvalidCastException: [A] Engine не может быть приведен к [B] Engine. Тип A происходит от 'MVP.Model, Version = 1.0.0.0, Culture = нейтральный, PublicKeyToken = null' в контексте 'LoadNeither' в местоположении '[...] \ AppData \ Roaming \ Microsoft \ VisualStudio \ 9.0 \ ProjectAssemblies \ uankw1hh01 \ MVP.Model.dll. Тип B происходит из 'MVP.Model, Version = 1.0.0.0, Culture = нейтральный, PublicKeyToken = null' в контексте 'LoadNeither' в местоположении '[...] \ AppData \ Roaming \ Microsoft \ VisualStudio \ 9.0 \ ProjectAssemblies \ u_hge2de01 \ MVP.Model.dll»...
Таким образом, у меня как-то есть две сборки, и они не доступны из папки моего проекта, но из папки временных файлов VS? Я много гуглил и нашел только это:Исключение IronPython: [A] персона не может быть преобразована в [B] персона, Предлагается решение, но, во-первых, оно касается IronPhyton, а во-вторых, я не знаю, где его использовать в моем проекте?
Было бы замечательно, если бы вы могли помочь мне здесь :-) спасибо