【问题标题】:Unable To Compile Google Protobuf 2 Messages using C# with Mono无法使用带有 Mono 的 C# 编译 Google Protobuf 2 消息
【发布时间】:2016-08-18 21:19:34
【问题描述】:

我正在使用 protobuf 和 c#,c# port 似乎是使用 proto2 生成 c# 类的答案。我能够弄清楚 c# 端口是使用来自this SO post 的 dotnet 2.0 构建的,并且我使用的是 mono latest,在撰写本文时是 4.4.x。我的命令是:

mono ./ProtoGen.exe --proto_path=../idl -output_directory=../out ../my.proto

它产生

WARNING: The runtime version supported by this application is unavailable.
Using default runtime: v4.0.30319

没有文件输出,echo $? 告诉我它以255 退出。

有什么建议吗?谢谢!

【问题讨论】:

  • 不能说那个“旧”版本,但我使用带有 C# 输出的最新 protobuf:github.com/google/protobuf/releases(参见 c# 部分)
  • 是的,v3 与 v2 明确不兼容

标签: c# mono protocol-buffers protobuf-csharp-port


【解决方案1】:

它有点隐藏在当前的 protobuf v3.0 documentation 中,但是,它位于 Compiler Invocation 部分下。

C# 代码生成器仅支持 proto3 消息。确保每个 .proto 文件都以以下声明开头:

syntax = "proto3";

【讨论】:

  • 感谢 jake,但是,根据问题的标题和描述,我明确针对 protobuf 2。
猜你喜欢
  • 2021-11-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多