我们有一个使用google实现的java后端表面原型对象。我们现在想在客户端的.net中使用这些对象并对其进行操作。问题是我们不希望在客户端依赖谷歌的不可变原型对象实现,因为我们将大量修改对象。
我们注意到protobuff-net提供了可变对象。我的问题是protobuff-net的verison将与google protoc 2.4.1配合使用,以便我们可以获得定义的相同proto bin文件。
感谢,
答案 0 :(得分:4)
如果你有一个现有的.proto定义,那么所包含的“protogen”工具可以作为protobuf-net的代码生成工具(创建可变类等)。这是随v1一起提供的,但是一旦我完成那些讨厌的扩展成员就会包含在v2中......
请注意,protogen在内部使用protoc(这实际上是为什么它超重)来编译.proto进行处理,但是如果你已经有编译的(二进制)定义,你可以提供那也是原生素。
实施(就线路上的数据而言)应完全兼容。请注意,只有一些protobuf-net功能(继承等),但如果从.proto生成代码,则不会触发这些功能。