2011-06-06 6 views
1

下記のように定義したリストをprotobuf-net v2でシリアル化/逆シリアル化しようとしていますが、deserializeで次の例外が発生しています。Protobuf-net v2カスタムリストオブジェクトエラー

タイプが期待されていない、と私は、これは実際にはネットワークストリーム上で起こっているのでWithLengthPrefix呼び出しを使用しています下に何の契約は、一例では

を推測することができませんが、問題が再現性のいずれかの方法であります。 RiskOrderで

var mStream = new MemoryStream(); 
Serializer.SerializeWithLengthPrefix(mStream, testList, PrefixStyle.Fixed32); 
mStream.Seek(0, SeekOrigin.Begin); 
var nOrders = Serializer.DeserializeWithLengthPrefix 
        <List<TestObj>>(mStream, PrefixStyle.Fixed32); 

[ProtoContract] 
public class TestObj 
{ 
    [ProtoMember(1)] 
    public string Key{ get; set; } 
    [ProtoMember(2)] 
    public string Val{ get; set; } 
} 

の下に定義されたように、これがhereに掲載のバグに関連している可能性が表示されますが、私は他の誰が実行している場合、私は見るだろうと思って確認されていないとして、これに/回避策があります。

更新 この問題は、リストにエントリがある場合にのみ発生するように思われます。

答えて

1

私はv2ベータ版ではなく最新のソースに更新したので、r403はこのバグを修正したと信じており、修正されているようです。

+0

私はあなたが正しいと信じています; p –