【发布时间】:2020-12-11 07:01:54
【问题描述】:
这是我第一次尝试使用 Google Protocol Buffer 编写原型。我的文件如下所示:
syntax = "proto3";
package Clark.EDI.Protos;
// [START csharp_declaration]
option csharp_namespace = "Clark.EDI.Protos";
// [END csharp_declaration]
// [START messages]
message Address {
required int32 addressId = 1;
optional string namePrimary = 2;
optional string nameSecondary = 3;
optional string streetPrimary = 4;
optional string streetSecondary = 5;
optional string city = 6;
optional string stateCode = 7;
optional string zipCode = 8;
optional string countryCode = 9;
}
// [END messages]
我正在尝试像这样编译它:
protoc --csharp_out=src address.proto
即使我将其定义为 proto3,它也要求必需或可选。
当我包含 required 或 optional 时,我会收到这些消息,但没有 .cs 文件。
address.proto:1:1:解释非 ascii 代码点 239。 address.proto:1:1:预期的顶级声明(例如“消息”)。 address.proto:1:2:解释非 ascii 代码点 187。 address.proto:1:3:解释非 ascii 代码点 191。
我错过了什么或做错了什么?
【问题讨论】:
-
239可能是unicode字节序标记,保存文件为ansi
-
来自视觉工作室?什么编码?
-
必需/可选在 proto3 中被删除
标签: c# protocol-buffers