1

我尝试在我的 WP8 应用程序中使用 Google protobuf。我将 protobuf-net 用于我的目的。当我从 qwerty.proto 生成我的 proto.cs 文件时,我看到了下一个字符串(如下)

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

但是 WP8 SDK 在 System 命名空间中没有 Serializable。当我通过 protogen.exe 生成 proto.cs 时可能是我犯了一个错误?可能它有任何额外的参数吗?

4

1 回答 1

1

如果您使用protogen -p:help它,它将向您显示可用的选项,不仅适用于该工具,而且:适用于您正在使用的模板csharp默认情况下)。这里特别感兴趣的是lightFramework. 所以添加-p:lightFramework,你应该设置。

另外:为了在电话 8 上获得最佳性能,您可能还想查看precompile,它允许它使用静态 IL 而不是反射。这将在此处进行更多讨论

请注意,使用 protobuf-net不需要.proto文件开始,但支持这种用法;它也可以“代码优先”正常工作。

于 2013-02-20T14:23:43.430 回答