2015-04-04 3 views
0

Я сериализую и десериализую объект Overlay с/на локальный диск с помощью BinaryFormatter; однако у меня есть исключение, которое отображается каждый раз, когда я перестраивал свой проект во время разработки.Исключение Binary Serialization VB.Net

Тип [A] не не совместим с типом [B], учитывая, что тезисы экземпляры каждый из которых работает в различных сборочной Wich я нашел в:

C: .... \ AppData \ Local \ Microsoft \ VisualStudio \ 12.0 \ ProjectAssemblies

Каждый раз, когда я восстанавливал свой проект, там создается экземпляр.

Есть ли какие-либо проеты, которые могут устанавливать BinaryFormatter более гибкими, поскольку эти экземпляры представляют собой созданные VS сборки, которые отличаются от моей папки проекта? спасибо

+0

Если ваш класс невелик, предпочитайте XML, поскольку преобразования BinaryFormatter строго типизированы. –

+0

Если вы пытаетесь сериализоваться в одной сборке и десериализоваться в другой, BinaryFormatter не будет. [ProtoBuf-NET] (https://code.google.com/p/protobuf-net/) - превосходная замена: меньший вывод, быстрее и сборка agnostic – Plutonix

+0

Protobuf - это хорошо, но я думаю, что это не должно быть проблемой на самом деле, поскольку VS должен быть в состоянии обойти тезисы проблем, учитывая, что в качестве разработчика вы не знаете о своем текущем приложении. – Abinonos

ответ

0

Попробовав много вещей, я выбрал режим Design Check, чтобы избежать этого в Visual Studio Designer сериализации несовместимостью Exception:

If Not DesignMode Then 
     GWCamerasUtilities.LoadCamerasOverlay() 
End If 

Мои Следующие проекты, безусловно, ретранслируют на Protobuf как предложено Plutonix

 Смежные вопросы

  • Нет связанных вопросов^_^