Это моя первая попытка написать прототип с помощью буфера протокола Google. Мой файл выглядит следующим образом:Буфер протокола Google не компилируется для C#
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 = ЦСИ 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 скорее всего будет символом юникодного байта, сохраните файл как ansi –
От визуальной студии? Какая кодировка? –
Обязательные/необязательные удаляются в proto3 –