Несколько недель назад я довольно успешно использовал версию v2 protobuf-net. (Я хочу использовать V2 из-за скорости скомпилированного сериализатора, работающего на Compact Framework.) Все работало отлично, пока я не попытался сериализовать объект со свойством типа Dictionary. Я получил следующую ошибку:
{"Не определен сериализатор для типа: System.Collections.Generic.KeyValuePair`2 [[System.String, mscorlib, Версия = 2.0.0.0, Культура = нейтральная, PublicKeyToken = b77a5c561934e089], [System.String, mscorlib, Версия = 2.0.0.0, Культура = нейтральная, PublicKeyToken = b77a5c561934e089]] "}
Похоже, что недавно были сделаны изменения для улучшения поддержки Словаря, поэтому я взял последний код за сегодня. После сборки dll CF3.5 и FF3.5 я попытался снова. Теперь я получаю другую ошибку «Модель не может быть изменена после замораживания». Если я удалю атрибут ProtoMember из свойства Dictionary, то все будет работать нормально.
Кто-нибудь успешно использовал словарь в v2 protobuf-net? Это еще слишком рано, чтобы использовать релиз? Мои тесты скорости показали, что v2 в два раза быстрее, кажется ли это точным (подтверждая мое желание использовать менее стабильные пре-альфа-биты v2.)