我尝试在WP8应用程序中使用Google protobuf。我使用protobuf-net作为我的purpoces。当我从qwerty.proto生成我的proto.cs文件时,我看到下一个字符串(下面)
...
[global::System.Serializable, global::ProtoBuf.ProtoContract(Name=@"Query") ]
...
但是WP8 SDK在System命名空间中没有Serializable。 当我通过protogen.exe生成proto.cs时,我可能犯了错误?可能有任何附加参数?
答案 0 :(得分:1)
如果您使用protogen -p:help
,它会向您显示选项,不仅适用于工具,还包括:代表您正在使用的模板({{1 }} 默认情况下)。这里特别感兴趣的是csharp
。因此,添加lightFramework
即可设置。
另外:为了在手机8上获得最佳性能,您可能还需要查看-p:lightFramework
,它允许它使用静态IL而不是反射。这是discussed more here。
请注意,使用protobuf-net不是必需,您从precompile
文件开始,但支持该用法;它也可以很好地“代码优先”。