C# 在运行时编译proto文件

C# 在运行时编译proto文件,c#,dynamic,runtime,protocol-buffers,C#,Dynamic,Runtime,Protocol Buffers,我正在开发一个通用protobuf解码器,其工作原理如下: 用户可以在运行时指定.proto文件并指定数据文件,程序将根据.proto定义显示文件中的数据 要执行上述操作,最明显的事情似乎是我需要解释.proto文件(或编译它),然后使用它解码protobuf消息。关于我如何继续这件事有什么想法吗?有没有图书馆可以帮我做这件事 一如既往,我们非常感谢您的反馈 谢谢 我一直想编写自己的解析器,但现在我只使用“protoc”将.proto解析为protobuf二进制文件。然后,我使用我自己的prot

我正在开发一个通用protobuf解码器,其工作原理如下:

用户可以在运行时指定.proto文件并指定数据文件,程序将根据.proto定义显示文件中的数据

要执行上述操作,最明显的事情似乎是我需要解释.proto文件(或编译它),然后使用它解码protobuf消息。关于我如何继续这件事有什么想法吗?有没有图书馆可以帮我做这件事

一如既往,我们非常感谢您的反馈


谢谢

我一直想编写自己的解析器,但现在我只使用“protoc”将.proto解析为protobuf二进制文件。然后,我使用我自己的protobuf库反序列化它,给我一个填充的对象模型来使用

我不知道您的进展如何,但您可能还对protobuf net v2中的一些运行时支持感兴趣,它允许protobuf数据动态映射到类型。另外,还有一个相当可重用的读卡器实现,可以满足您的需要

如果您可以使用XML,我将在protobuf网络中包含一个工具“protogen”,它可以编写gen代码;但是传入一个
-t:xml
,它应该可以将.proto转换为xml


Iirc,“protoc”使用谷歌软件包中的“descriptor.proto”输出一个protobuf。

此外,如果您有兴趣以某种方式联合力量,在.NET平台上改进protobuf,请告诉我(我的联系信息在我的个人资料中),我很乐意在几个月内完成这项工作。我现在正在完成几个大项目,所以我不能在这上面花太多时间。但在那之后,我很乐意帮忙,我会保持联系。谢谢你的邀请。马克,谢谢你的指点。我会告诉你事情的进展。我想我现在有很多事情要做,并想出一个策略。:)