一、下载
在 vs 里安装 protobuf-net 包。
方法1:
1 点击“工具—>NuGet包管理器—>管理解决方法的NuGet程序包”
2 搜索找到 protobuf-net
3 选择对应版本,勾选项目,点击安装
方法 2:
1 打开 程序包管理控制台
2 输入安装命令
二、使用
我们编写自己的.proto文件。
打开proto文件所在的文件夹下,右键鼠标选择“在终端中打开”
输入命令(我这里是转成C#)
protogen --csharp_out=. PBLogin.proto --package=MyProtoBuf
--csharp_out=.
:指定输出路径为当前目录(.
)。你也可以指定其他路径,如 --csharp_out=MyGeneratedFiles
。
PBLogin.proto
:指定输入的 .proto
文件。
--package=MyProtoBuf
:(可选)指定默认的命名空间。如果 .proto
文件中已经定义了 package
,则可以省略此选项。
运行上述命令后,protogen
会在当前目录下生成一个名为 PBLogin.cs
的文件
【注意】若出现以下情况,这通常是因为 protogen
工具未正确安装或未添加到系统的 PATH 环境变量中。
运行以下命令来安装 protogen
:
dotnet tool install -g protobuf-net.Protogen
安装完成后,protogen
应该可以作为全局工具使用。
如果 protogen
的路径未包含在 PATH 中,需要手动添加它。
三、自定义工具
我们需要运行 protogen
工具来生成 C# 文件,可以自己创建一个批处理文件来自动化这个过程。
-
打开记事本或其他文本编辑器。
-
输入以下内容:
@echo off echo Starting protogen... protogen --csharp_out=. PBLogin.proto echo Generation complete. pause
-
将文件保存为
自定义命名.bat
。 -
双击运行该批处理文件,或者在命令行中运行它。
【注意】请注意目录关系。例子中该批处理文件与PBLogin.proto放在同一文件夹下,输出的cs文件也将存放于该文件夹下。
四、放入Unity项目里报错
报错信息:Assets\Plugins\protobuf-net\ProtoWriter.cs(851,25): error CS0227: Unsafe code may only appear if compiling with /unsafe. Enable "Allow 'unsafe' code" in the inspector for 'Assets/Plugins/protobuf-net/MarsPB.asmdef' to fix this error.