(gRP C. Net) Импорт файла ProtoA (.proto), определенного в Project A, в файл protoB (.proto), определенный в Project B - PullRequest
1 голос
/ 14 марта 2020

Я испробовал способ использования прототипов, в которых

  1. Я определил компоненты rp c в proto B в проекте B

    Пример: rp c Строка (RequestData) возвращает (ResponseInfoBase);

  2. Я определил сообщение в Proto A, которое находится в проекте A (другой проект)

    Пример: message RequestData {string Data = 1; }

message ResponseInfoBase {string Data = 1; } Мой вопрос: могу ли я импортировать ProtoA в ProtoB?

1 Ответ

0 голосов
/ 14 марта 2020

Исходный код 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 Содержит метод rp c и использует сообщение, определенное в 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 Это клиентское приложение gRP C, которое использует прототипы обоих проектов и вызывает метод RP C, определенный в College.Service.

  <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>

Изображение для дополнительной ссылки:

enter image description here

...