【发布时间】:2012-08-31 12:39:27
【问题描述】:
我有一个自定义对象,我正在尝试使用 Protobuf-net 序列化并引发以下异常:
InvalidOperationException 未处理:在写入 String 数据之前无法写入 Variant 标头
我发现有趣的是,在我的对象图中,没有任何地方正在序列化字符串。有没有人见过这样的错误,是否有已知的原因/修复?谢谢
【问题讨论】:
-
在这种情况下,“字符串数据”是指 protobuf 线规范,其中“字符串”是 wire-type,不一定表示“字符串”文本”。基本上,它通常是“header, value, header, valye, ...”,其中 header 包括(以非常压缩的形式)以下值的线型;因此,如果它发现自己在写“header,header”,它就知道出了点问题,并且它抱怨没有为第一个 header 写入任何值,它恰好是类型:“string”。总的来说,我怀疑这是一个长期修复的错误。
标签: c# serialization protobuf-net