从不同的项目.Net访问protobuf

时间:2019-05-30 18:59:24

标签: c# protocol-buffers grpc

我正在尝试使用gRPC构建大型系统。我有一个项目,其中定义了一个.proto文件。我创建了第二个项目,该项目引用了第一个项目。我希望能够在第二个项目的原始文件中定义的消息中使用第一个项目的原始文件中定义的消息。这可能吗?

2 个答案:

答案 0 :(得分:0)

在这些情况下,我总是将原始文件放在其自己的存储库中。例如,如果您使用的是git,则将两个项目中带有定义文件的存储库用作子模块

最后,您将拥有三个存储库:

  1. 消息定义
  2. 项目A
  3. 项目B

项目A和B将引用消息定义存储库。

答案 1 :(得分:0)

我在这里回答了类似的问题: https://stackoverflow.com/a/59821705/9742876

简而言之,如果您将ProtoRoot属性添加到<Protobuf />文件中的.csproj部分,则可以执行此操作。 ProtoRoot更改了import语句开始搜索.proto文件的根文件夹,但请查看上面的链接以获取更多信息。