Protobuf的C#使用
Posted 潇湘子6210
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Protobuf的C#使用相关的知识,希望对你有一定的参考价值。
【转】http://blog.csdn.net/shantsc/article/details/50729402
protobuf c#版本分成两个版本,一个是protobuf-net,另一个是protobuf-csharp-sport
一、protobuf-net版
步骤 1.编辑111.proto文件 遵循谷歌的格式 message一个类的名字 required 必须要赋值的字段
1 message Person 2 { 3 required string name=1; 4 required int32 id=2; 5 optional string email=3; 6 7 enum PhoneType 8 { 9 MONILE=0; 10 HOME=1; 11 WORK=2; 12 } 13 }
步骤 2.编译protobuf-net 并且在ProtoGen中引用 之后再编译Protogen.exe
步骤 3.在dos下cd到protogen.exe 然后 -i:111.proto -o:111.cs -ns:MyProto
下边的是另一个版本的
二、protobuf-csharp-sport版
具体步骤如下:
1.先从http://code.google.com/p/protobuf-csharp-port/网站下载protobuf-csharp-port包,我下载的版本是:protobuf-csharp-port-2.4.1.473-release-binaries。
2.将上述包解压缩之后,取出其中的ProtoGen.exe.config,protoc.exe,ProtoGen.exe及Google.ProtocolBuffers.dll文件放到D:\protoc文件夹里
(D:\protoc文件夹是我自建的)。
3.打开命令提示符(我的是windows7系统),先用doc命令中的cd C:\命令转到C盘,然后输入D:回车,转到D盘,然后cd protoc转到D:\protoc文件夹下。(非常细致哈,甚至有点啰嗦哈,不过我每次用都得google一下的呢~)
4.将需要转成c#的protobuf文件也添加到D:\protoc文件夹里,比如我们要转AddressBook.proto文件。
5.在命令提示符内输入:
protoc --descriptor_set_out=AddressBook.protobin --include_imports AddressBook.proto
(上述命令之后,你会发现D protoc文件夹内多了一个AddressBook.protobin文件)
接下来:
protogen AddressBook.protobin回车
上述命令之后,D盘protoc文件夹里多了个AddressBook.cs文件,是的,这就是万众瞩目的终极目标文件。
大功告成,呵呵,很简单的吧。
6.将cs文件导入项目中就可以使用了~
以上是关于Protobuf的C#使用的主要内容,如果未能解决你的问题,请参考以下文章
protobuf 下载编译,拷贝,proto文件生成c# c++代码
protobuf 下载编译,拷贝,proto文件生成c# c++代码
通讯协议及Google.Protobuf生成c#代码 序列及反序列化
C# protobuf-net - 默认值覆盖 protobuf 数据中的值