【问题标题】:(gRPC .Net) Importing ProtoA (.proto) file defined in Project A into protoB (.proto) file defined in Project B(gRPC .Net) 将项目 A 中定义的 ProtoA (.proto) 文件导入项目 B 中定义的 protoB (.proto) 文件
【发布时间】:2020-06-25 21:07:15
【问题描述】:

我尝试了一种使用 proto 文件的方法

  1. 我在Project B的proto B中定义了rpc组件

    示例:rpc Line (RequestData) 返回 (ResponseInfoBase);

  2. 我在项目 A(不同项目)中的 Proto A 中定义了消息

    示例:消息请求数据 { 字符串数据 = 1 ; }

消息响应信息库 { 字符串数据 = 1; } 我的问题是我可以将 ProtoA 导入到 ProtoB 吗?

【问题讨论】:

  • 这两个项目是否属于同一个解决方案(.sln)?请指教。
  • 是的。它们在同一个解决方案中使用
  • 早上好。我已经添加了解决方案。请检查并让我知道它是否有效?非常感谢。

标签: grpc proto


【解决方案1】:

源码网址:https://github.com/vishipayyallore/speaker_series/tree/master/GRpcDemos/SimpleGRpcDemo

ForHoldingMessages.csproj 这仅包含消息。

  <ItemGroup>
    <Protobuf Include="Protos\greet.proto" GrpcServices="Server" />
    <Protobuf Include="Protos\AddressBookMessages.proto" GrpcServices="None" />
  </ItemGroup>

College.Service.csproj 保存 rpc 方法并使用 ForHoldingMessagaes.csproj 中定义的消息。

  <ItemGroup>
    <Protobuf Include="..\ForHoldingMessages\Protos\AddressBookMessages.proto" GrpcServices="None">
      <Link>Protos\AddressBookMessages.proto</Link>
    </Protobuf>
    <Protobuf Include="Protos\greet.proto" GrpcServices="Server" />
    <Protobuf Include="..\College.Service\Protos\AddressBook.proto" GrpcServices="Server" ProtoRoot="..">
    </Protobuf>
  </ItemGroup>

College.ServiceClient.csproj 这是 gRPC 客户端应用程序,它使用来自两个项目的原型并调用 College.Service 中定义的 RPC 方法。

  <ItemGroup>
    <Protobuf Include="..\College.Service\Protos\AddressBook.proto" GrpcServices="Client" ProtoRoot="..">
      <Link>Protos\AddressBook.proto</Link>
    </Protobuf>
    <Protobuf Include="..\ForHoldingMessages\Protos\AddressBookMessages.proto" GrpcServices="Client">
      <Link>Protos\AddressBookMessages.proto</Link>
    </Protobuf>
  </ItemGroup>

图片供参考:

【讨论】:

  • 尝试了所有可能的方式使用导入,使用 proto 作为连接服务,提供文件路径
  • 您是否在要导入的 .proto 文件中添加了导入语句?
  • main.proto 文件。添加 import "child.proto";
  • 我已经更新了解决方案。请查看并告诉我。非常感谢。
  • @ Viswanatha Swamy,想出了一种使用 proto accross 解决方案的方法,但感谢 Root Idea
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-11-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-10
相关资源
最近更新 更多