C# protobuf 实践
环境
windows 10
VisualStudio 2015
Usage
-
The easiest way how to use C# protobufs is via the
Google.Protobuf
NuGet package. Just add the NuGet package to your VS project.
通过NuGet下载Google.Protobuf
-
You will also want to install the
Google.Protobuf.Tools
NuGet package, which contains precompiled version ofprotoc.exe
and a copy of well known.proto
files under the package's tools directory.
通过NuGet下载Google.Protobuf.Tools
-
To generate C# files from your
.proto
files, invokeprotoc
with the--csharp_out
option.
增加--csharp_out
命令生成对应的cs文件
具体说明
第1步 和 第2步很明确,到第3步说明特别简单,项目中点击重新生成,也生成不了对应的cs文件,需要命令生成,没有android版方便。
原本打算参考 C# protobuf的使用方法中的方法,下载protogen,然后用简单命令生成cs文件。
但是使用后,发现,新版本的protogen 只支持proto2,不支持proto3,所以放弃。
image.png
现在放代码
.proto文件
proto和java版本一样,只在开头写了namespace
option csharp_namespace = "TestProject.Model.Proto";
命令
在项目目录中:packages\Google.Protobuf.Tools.3.7.0\tools\
找到protoc.exe
,进入目录,
拷贝ResponsePB.proto
到protoc.exe
目录运行:
protoc --csharp_out=./ ResponsePB.proto
然后将生成的cs文件拷贝到使用的项目中就可以了。
参考网站
https://github.com/protocolbuffers/protobuf/tree/master/csharp
https://developers.google.com/protocol-buffers/docs/reference/csharp-generated
https://blog.csdn.net/u011484013/article/details/51164773