使用protobuf-net序列化数据集时出错

时间:2011-01-20 01:10:31

标签: c# protobuf-net

我正在尝试使用protobuf-net来序列化数据集,但收到以下错误:

  

未处理的例外情况:   System.InvalidOperationException:否   合适的默认数据集编码   找到。在   ProtoBuf.Serializer.ThrowNoEncoder(DATAFORMAT   format,Type valueType)at   ProtoBuf.Property.PropertyFactory.CreateProperty [T](类型   类型,DataFormat&格式,   MemberSerializationOptions选项)
  在   ProtoBuf.Property.PropertyFactory.Create [T](的MemberInfo   会员)   ProtoBuf.Serializer`1.Build()

以下是正在使用的代码

    [ProtoContract]
    public class Packet
    {
        [ProtoMember(1)]
        public DataSet Data { get; set; }

        [ProtoMember(2)]
        public string Name { get; set; }

        [ProtoMember(3)]
        public string Description { get; set; }
    }


    using (var fs = new FileStream("test0.txt", FileMode.Create))
    {
       Serializer.Serialize(fs, packet);
       Console.WriteLine("Total bytes with protobuf-net = " + fs.Length);
    }

1 个答案:

答案 0 :(得分:1)

DataSet不是真正数据合同,“v1”中没有受支持的实现(代码可用作预先构建的dll)。但是,我在“v2”here中做了一些可能感兴趣的游戏,包括一系列用于比较/决策的指标。