【转】http://blog.csdn.net/shantsc/article/details/50729402

protobuf  c#版本分成两个版本,一个是protobuf-net,另一个是protobuf-csharp-sport

一、protobuf-net版

步骤 1.编辑111.proto文件 遵循谷歌的格式  message一个类的名字 required 必须要赋值的字段

 message Person
{
required string name=;
required int32 id=;
optional string email=; enum PhoneType
{
MONILE=;
HOME=;
WORK=;
}
}

步骤 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#使用的更多相关文章

  1. Google Protobuf 使用 Java 版

    一 . Protobuf 的入门 Protobuf 是一个灵活,高效,结构化的数据序列化框架, 相比于 XML 等传统的序列化工具,它更小,更快,更灵活,更简单. Protobuf 支持数据结构化一次 ...

  2. netty + Protobuf (整合二)

    [正文]Protobuf 消息设计 疯狂创客圈 死磕Netty 系列之12 [博客园 总入口 ] 本文说明 本篇是 netty+Protobuf 实战的第二篇,完成一个 基于Netty + Proto ...

  3. h5 录音 自动生成proto Js语句 UglifyJS-- 对你的js做了什么 【原码笔记】-- protobuf.js 与 Long.js 【微信开发】-- 发送模板消息 能编程与会编程 vue2入坑随记(二) -- 自定义动态组件 微信上传图片

    得益于前辈的分享,做了一个h5录音的demo.效果图如下: 点击开始录音会先弹出确认框: 首次确认允许后,再次录音不需要再确认,但如果用户点击禁止,则无法录音: 点击发送 将录音内容发送到对话框中.点 ...

  4. Netty学习——Netty和Protobuf的整合(二)

    Netty学习——Netty和Protobuf的整合(二) 这程序是有瑕疵的,解码器那里不通用,耦合性太强,有两个很明显的问题,但是要怎么解决呢?如:再加一个内部类型 Person2,之前的代码就不能 ...

  5. Unity手游之路<二>Java版服务端使用protostuff简化protobuf开发

    http://blog.csdn.net/janeky/article/details/17151465 开发一款网络游戏,首先要考虑的是客户端服务端之间用何种编码格式进行通信.之前我们介绍了Unit ...

  6. Sword protobuf学习二

    编写protobuf消息文件 文件格式: xxx.proto //标明使用哪个版本的protobuf,默认2.0版本 syntax = "proto3"; //类似于c++中的na ...

  7. ProtocolBuffers (二) android与PC,C#与Java 利用protobuf 进行无障碍通讯【Socket】

    protobuf 是什么?   Protocol buffers是一种编码方法构造的一种有效而可扩展的格式的数据. 谷歌使用其内部几乎RPC协议和文件格式的所有协议缓冲区. 参考文档 http://c ...

  8. ProtoBuf练习(二)

    重复数据类型 protobuf语言的重复字段类型相当于C++的std::list数据类型 工程目录结构 $ ls proto/ TServer.proto TSession.proto proto文件 ...

  9. unity探索者之socket传输protobuf字节流(二)

    版权声明:本文为原创文章,转载请声明http://www.cnblogs.com/unityExplorer/p/6977935.html 上一篇主要说的是protobuf字节流的序列化和解析,将pr ...

随机推荐

  1. 将ASP.NET Core应用程序部署至生产环境中(CentOS7)(转)

    阅读目录 环境说明 准备你的ASP.NET Core应用程序 安装CentOS7 安装.NET Core SDK for CentOS7. 部署ASP.NET Core应用程序 配置Nginx 配置守 ...

  2. [转] Visual Studio Code behind a proxy

    http://www.tuicool.com/articles/jyyIBf3 http://blog.majcica.com/2016/04/07/visual-studio-code-behind ...

  3. 火狐 SSL 收到了一个弱临时 Diffie-Hellman 密钥的解决办法

    连接 https网址 时发生错误. 在服务器密钥交换握手信息中 SSL 收到了一个弱临时 Diffie-Hellman 密钥. (错误码: ssl_error_weak_server_ephemera ...

  4. 【推荐】最新国外免费空间网站Hostinger

    英国最大的免费网站托管服务提供商! http://api.hostinger.co.uk/redir/6703404 Hostinger免费版包括以下内容:  - 2000 MB的磁盘空间 - 100 ...

  5. C#集合 -- 自定义集合与代理

    前面章节所讨论的集合都可以直接实例化,因此我们可以非常方便地使用这些集合类.但是如果你试图在集合添加或移除元素时添加控制,它们就不适用了.对于强类型集合,在某些情况下,你需要添加这样的控制: 添加或移 ...

  6. Pro ASP.NET MVC –第六章 MVC的基本工具

    在本章,我们将介绍每个MVC程序员"武器库"的三个重要工具:依赖注入容器.单元测试框架和mock工具.在本书,对于三个工具分别都只用了一种方式实现,但每个工具都还有其他的实现方式. ...

  7. 【Cocos2d-Js基础教学(6)网络层(弱联网)的封装及使用】

    谈到联网,在游戏中也是非常核心的模块,在官方Js-test中我们可以找到联网部分 的NetworkTest文件下有两个类 SocketIOTest.js(Socket 类) WebSocketTest ...

  8. Java IO 之 FileInputStream & FileOutputStream源码分析

    Writer      :BYSocket(泥沙砖瓦浆木匠) 微         博:BYSocket 豆         瓣:BYSocket FaceBook:BYSocket Twitter   ...

  9. 关于Interface忽然想到的

    其实Interface,顾名思义,就是2个事物的"界面",interface衔接了2个事物,这两个事物,往往一方比较"多变",而另一方我们又不太希望它相对&qu ...

  10. 通过DOS、SHELL批处理命令加载Lib并编译和打包Java项目(或者运行项目)

    有些时候,需要通过DOS批处理来编译整个项目的JAVA文件:并且编译后还要对Class文件进行打包成jar文件...这还不是最烦的,最烦的是,编译和打包的时候需要依赖其他多个jar文件,困难就这么来了 ...