原型:创建cs文件
protogen: create cs file
我正在尝试使用 Protogen 创建 C# 类这是我的语法
<Exec WorkingDirectory="..\..\ProtoFiles" Command="$(3rdParty)\protobuf\protobuf-net\protogen.exe --proto_path:ClientsList.proto --csharp_out:ClientsList.cs" />
但没有创建 C# 类
当我使用相同的原型创建 C++ 时 类 一切正常(我需要添加 syntax="proto2";我不知道这是否会影响 C# 部分)
如果我 运行 它是手动的:C:rdParty\protobuf\protobuf-net>protogen.exe --proto_path:ClientsList.proto --csharp_out:ClientsList.cs
用法:原型 [选项] PROTO_FILES
解析 PROTO_FILES 并根据给定的选项生成输出:
-IPATH, --proto_path=PATH 指定要搜索的目录
进口。可以指定多次;
目录将按顺序搜索。如果不
给定,使用当前工作目录。
--version 显示版本信息并退出。
......
注意 PROTO_FILES 可以是 .proto 或 **/.proto (递归)当单个
使用导入位置来处理找到的所有模式文件。在递归模式下,
从当前目录导入也可以只指定名称。
csharp_out 参数是一个文件夹,而不是一个文件,这不是您使用 proto_path(同样是文件夹)的方式;它是 =
,而不是 :
- 在你的情况下你可能想要:
protogen --csharp_out=. ClientsList.proto
请注意,语法是 protoc
命令行语法的镜像。
但是!还有 MSBuild 包可能会比您自己的自定义任务更容易使用,我正在研究“生成器”实现 - 这意味着零设置:只需添加 .proto 和 运行.
我正在尝试使用 Protogen 创建 C# 类这是我的语法
<Exec WorkingDirectory="..\..\ProtoFiles" Command="$(3rdParty)\protobuf\protobuf-net\protogen.exe --proto_path:ClientsList.proto --csharp_out:ClientsList.cs" />
但没有创建 C# 类
当我使用相同的原型创建 C++ 时 类 一切正常(我需要添加 syntax="proto2";我不知道这是否会影响 C# 部分)
如果我 运行 它是手动的:C:rdParty\protobuf\protobuf-net>protogen.exe --proto_path:ClientsList.proto --csharp_out:ClientsList.cs
用法:原型 [选项] PROTO_FILES 解析 PROTO_FILES 并根据给定的选项生成输出:
-IPATH, --proto_path=PATH 指定要搜索的目录 进口。可以指定多次; 目录将按顺序搜索。如果不 给定,使用当前工作目录。
--version 显示版本信息并退出。
......
注意 PROTO_FILES 可以是 .proto 或 **/.proto (递归)当单个 使用导入位置来处理找到的所有模式文件。在递归模式下, 从当前目录导入也可以只指定名称。
csharp_out 参数是一个文件夹,而不是一个文件,这不是您使用 proto_path(同样是文件夹)的方式;它是 =
,而不是 :
- 在你的情况下你可能想要:
protogen --csharp_out=. ClientsList.proto
请注意,语法是 protoc
命令行语法的镜像。
但是!还有 MSBuild 包可能会比您自己的自定义任务更容易使用,我正在研究“生成器”实现 - 这意味着零设置:只需添加 .proto 和 运行.