我有一个项目,我使用 Google Protocol Buffers 2.6.1 大约两年了。我知道 Google Protocol Buffers 3.0.0 支持 C#,但我现在不想将我的协议迁移到更新的版本。我试图找到一种从我的 .proto 文件生成 C# 文件的方法,但没有成功。
是否可以将 Google Protocol Buffers 2.6.1 与 C# 一起使用?
我有一个项目,我使用 Google Protocol Buffers 2.6.1 大约两年了。我知道 Google Protocol Buffers 3.0.0 支持 C#,但我现在不想将我的协议迁移到更新的版本。我试图找到一种从我的 .proto 文件生成 C# 文件的方法,但没有成功。
是否可以将 Google Protocol Buffers 2.6.1 与 C# 一起使用?
在~\protobuf-csharp-port-2.4.1.555\src\ProtoGen\ProtocGenCs.cs
你有评论中的例子:
// Usage example:
// protoc.exe
// --plugin=path\to\protoc-gen-cs.exe
// --cs_out="-generated_code_attributes=true umbrella_namespace=TutorialProto :."
// --proto_path=.\protos\
// protos\tutorial\addressbook.proto
看看这个回购。
它指出:
这个 repo 最初是从http://code.google.com/p/protobuf-csharp-port导出的,代表了最新的“旧”版本的 protobuf-csharp-port。
该项目现已并入主要的 Google Protocol Buffers 项目,并且正在进行改进以支持 proto3。预计不会与此 repo 中的代码完全向后兼容 - 特别是,新代码库中可能不支持某些特定于 C# 的选项,并且某些生成的代码可能会有所不同。一个新的主要版本提供了一次大扫除的机会。
Google C# 实现支持proto3;protobuf-net 支持 proto2 和 proto3。所以如果你需要使用proto2,不妨考虑protobuf-net。
我一直在使用这个 repo 它基于 protobuf 协议。适用于我们产品的生产版本。