protobuf-net 將proto文件轉換成.cs放在項目中用

手遊 通訊要達到最大優化 ,在沒有自己寫出的序列化好的結構下就暫時使用谷歌的protobuf-net 來源於社區 ;


protobuf  c#版本分成兩個 一個是protobuf-net 另一個是protobuf-csharp-sport一會再補充 ,剛纔實現了自己編輯.proto文件,然後通過ProtoGen生成.cs文件 

步驟 1.編輯111.proto文件 遵循谷歌的格式  message一個類的名字 required 必須要賦值的字段

message Person{ 

required string name=1;
required int32 id=2;
optional string email=3;

enum PhoneType{
MONILE=0;
HOME=1;
WORK=2;}
}

步驟 2.編譯protobuf-net 並且在ProtoGen中引用   之後再編譯Protogen.exe 
步驟 3.在dos下cd到protogen.exe  然後 -i:111.proto -o:111.cs -ns:MyProto

搞定 


下邊的是另一個版本的 一會再補充



具體步驟如下:

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文件導入項目中就可以使用了~

發佈了27 篇原創文章 · 獲贊 2 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章