Windows 8应用程序序列化或生成代码不工作的Protobuf

时间:2013-07-17 08:01:03

标签: windows windows-phone-7 windows-store-apps protocol-buffers

我需要在我的windows商店应用程序中使用protobuf并且我使用这个Protobuf port但是当我从proto文件生成类看起来不完整因为我没有访问.newBuilder()...如果我使用nad p:lightFramework我仍然无法使用.newBuilder()......任何人都可以提供帮助吗?

没有灯光框架选项的生成代码的一部分

[global::System.Serializable, global::ProtoBuf.ProtoContract(Name=@"Person")]

使用轻型框架选项生成代码的一部分

[global::ProtoBuf.ProtoContract(Name=@"Person")]

问题在于:(。newBuilder()无法识别

CP.ConnectionResponse respp = CP.ConnectionResponse.newBuilder()...

1 个答案:

答案 0 :(得分:0)

您似乎一次使用两个不同的库;特别是,您似乎遵循protobuf port说明,但实际上使用 protobuf-net。这是两个不同的库,仅在以下几个方面相连:

  • 他们都以.NET为目标
  • 他们都序列化/反序列化protobuf数据

添加上下文 - 这有点像使用JSON.NET但遵循ServiceStack.Text的说明:两者都可以序列化/反序列化JSON,但API不同。

您需要决定使用哪个库,并按照该实施的说明进行操作。

顺便说一句:对于使用protobuf-net的商店应用/ windows phone应用中的最佳性能,您可能还需要考虑使用precompiler - 但您应该能够如果没有这个,工作(用于概念验证等)。