這是我第一次嘗試使用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 = 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 –
從visual studio?什麼編碼? –
必須/可選在proto3中被刪除 –