在 C# Visual Studio 中编译协议缓冲区 3 时间戳类型?

Bal*_*tar 5 c# timestamp protocol-buffers protobuf-csharp-port protocol-buffers-3

Visual Studio 2015 
C#
NuGet Packages : 
Google.Protobuf v3.0.0 
Google.Protobuf.Tools v3.0.0
Run Code Online (Sandbox Code Playgroud)

消息类型 Quake

syntax = "proto3";
import "google/protobuf/timestamp.proto";
message Quake {
  google.protobuf.Timestamp _timestamp = 1;
  double magnitude = 2;
}
Run Code Online (Sandbox Code Playgroud)

timestamp.proto 包含在同一个文件夹中

protoc 3.0.2 命令行编译成功

但是VS右键单击proto文件并选择“运行自定义工具”失败,错误“自定义工具'ProtoBufTool'失败。”

从 Visual Studio 中生成 C# 类?

小智 -1

导入时间戳并使用完整的命名空间:

syntax = "proto3";
import "google/protobuf/timestamp.proto";

message Quake {
  google.protobuf.Timestamp _timestamp = 1;
  double magnitude = 2;
}
Run Code Online (Sandbox Code Playgroud)

要生成 C# 代码,请参阅他们的手册: https://developers.google.com/protocol-buffers/docs/csharptutorial#compiling-your-protocol-buffers

  • 你解决过这个问题吗?我正在使用已安装的 Google.Protobuf 和 Google.Protobuf.Tools NuGet 包。但这些包不包含任何 .proto 文件。如果我使用这些包中的 protoc,我是否需要访问 timestamp.proto 文件,或者编译器会知道这一点吗? (7认同)