首页 > 解决方案 > Protobuf 反序列化异常“不应将重复类型作为辅助类型”

问题描述

当试图反序列化一个 observablecollection 时,它给了我一个例外 **"

" protobuf-net.Core.dll 中发生了 'System.NotSupportedException' 类型的异常,但未在用户代码中处理附加信息:重复类型不应作为辅助类型: ""**

  public Task<T> ReceiveDataAsync<T>(TcpClient client)            
        {
            using (NetworkStream stream = new NetworkStream(client.Client, false))
            {
                return Task.FromResult(Serializer.DeserializeWithLengthPrefix<T>(stream, PrefixStyle.Fixed32));
            }
        }

我根本没有找到有关此异常的详细信息。

标签: c#protobuf-net

解决方案


WithLengthPrefix API 需要一条消息,而不是一个集合。也许序列化集合的东西。


推荐阅读