Я нашел часть своего ответа - «AllowAllAssemblyVersionsDeserializationBinder» ... Это очень мощный способ перехватить двоичную сериализацию, и он позволил мне «набирать своп» на оригинальный класс с его интерфейсом. Это позволило продолжить десериализацию (т.е. загрузить мой файл), а затем удалить ненужные объекты. Это также позволяет мне более эффективно решать проблемы с версиями между различными файлами.
Здесь хороший пробежка: http://spazzarama.wordpress.com/2009/06/25/binary-deserialize-unable-to-find-assembly/
Так что я упоминаю это здесь, потому что другие могут найти его полезным, плюс я уверен, что что-то не так, когда неясный поиск «AllowAllAssemblyVersionsDeserializationBinder» не дает ответов на StackOverflow - это как раз тот тип вопроса / ответа, который необходимо упомянуть:)
[Примечание: я упоминаю, что это частично решает мою проблему - один класс, который я хочу «разделить», но для которого нужны только значения интерфейса, а не полный класс, все еще не десериализует фактические значения - так что все еще нужно выяснить, Я должен использовать абстрактные классы и т. Д.]
[Примечание 2: я использовал двоичную сериализацию как быстрое исправление для ускорения разработки, пока я разбираюсь с полным дизайном, поэтому я надеюсь, что основная работа по разработке продвигается, и мне не нужно полагаться на двоичный сериализатор в первую очередь ...]