将ProtoA导入protoB

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将ProtoA导入protoB相关的知识,希望对你有一定的参考价值。

我尝试了一种使用原始文件的方式

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

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

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

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

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

答案

源代码URL: https://github.com/vishipayyallore/speaker_series/tree/master/GRpcDemos/SimpleGRpcDemo

ForHoldingMessages.csproj仅保存消息。

  <ItemGroup>
    <Protobuf Include="Protosgreet.proto" GrpcServices="Server" />
    <Protobuf Include="ProtosAddressBookMessages.proto" GrpcServices="None" />
  </ItemGroup>

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

  <ItemGroup>
    <Protobuf Include="..ForHoldingMessagesProtosAddressBookMessages.proto" GrpcServices="None">
      <Link>ProtosAddressBookMessages.proto</Link>
    </Protobuf>
    <Protobuf Include="Protosgreet.proto" GrpcServices="Server" />
    <Protobuf Include="..College.ServiceProtosAddressBook.proto" GrpcServices="Server" ProtoRoot="..">
    </Protobuf>
  </ItemGroup>

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

  <ItemGroup>
    <Protobuf Include="..College.ServiceProtosAddressBook.proto" GrpcServices="Client" ProtoRoot="..">
      <Link>ProtosAddressBook.proto</Link>
    </Protobuf>
    <Protobuf Include="..ForHoldingMessagesProtosAddressBookMessages.proto" GrpcServices="Client">
      <Link>ProtosAddressBookMessages.proto</Link>
    </Protobuf>
  </ItemGroup>

图像供其他参考:

enter image description here

以上是关于将ProtoA导入protoB的主要内容,如果未能解决你的问题,请参考以下文章

Oracle 数据库 - 使用UEStudio修改dmp文件版本号,解决imp命令恢复的数据库与dmp本地文件版本号不匹配导致的导入失败问题,“ORACLE error 12547”问题处理(代码片段

微信小程序代码片段

vscode代码片段生成vue模板

在下面的代码片段中的剩余 ='passthrough' 处的代码中出现语法错误

VS Code中自定义Emmet代码片段

有条件地导入 python 类的片段