首先转换 .proto 文件一般会用到2个 .exe 文件,一个是 protoc.exe (这个能生成c++的文件,java好像也行,我没试),一个是 protogen.exe (这个能生成我们需要的.cs文件),首先我们先来下载它们。
注意:这2地址都需要vpn翻墙,科学上网,毕竟是google开发的东西。
protoc.exe 的下载地址:
https://developers.google.com/protocol-buffers/docs/downloads
protobuf-net 的 protogen.exe
https://code.google.com/archive/p/protobuf-net/downloads
首先我们先把 protobuf-net r668 中的 ProtoGen 目录给单独考出来,这是我们主要使用的目录。
如果你需要生成c++的文件,就将 protoc-2.6.1-win32 里的 protoc.exe 丢到 ProtoGen 里面来
将需要转换的 .proto 文件扔到 ProtoGen 里来,然后我们写一个bat脚本来执行转换的命令
@echo off
rem 查找文件
for /f "delims=" %%i in ('dir /b ".\*.proto"') do echo %%i
rem 转cpp for /f "delims=" %%i in ('dir /b/a "*.proto"') do protoc -I=. --cpp_out=. %%i
for /f "delims=" %%i in ('dir /b/a "*.proto"') do protogen -i:%%i -o:%%~ni.cs
pause
这段脚本的功能十分简单,就是先找到目录下所有的 .proto 文件,
然后用 protoc.exe 去执行转 c++文件的命令,
用 protogen.exe 去执行转 .cs 文件的命令。