(gRPC .Net) 将项目 A 中定义的 ProtoA (.proto) 文件导入项目 B 中定义的 protoB (.proto) 文件

(gRPC .Net) Importing ProtoA (.proto) file defined in Project A into protoB (.proto) file defined in Project B

我尝试了一种使用原型文件的方法,其中

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

    示例:rpc 行 (RequestData) returns (ResponseInfoBase);

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

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

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

源代码URL: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.[=15 中定义的 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>

供参考的图片: