Как через protobuf-net настроить автоматическую генерацию классов по контракту?

Рейтинг: 0Ответов: 0Опубликовано: 01.08.2025

В общем, у меня есть вот такой просто *.proto-файл:

syntax = "proto3";

package MyApp;

service MyService {
  rpc SayHello (HelloRequest) returns (HelloReply);
}

message HelloRequest {
  string name = 1;
}

message HelloReply {
  string message = 1;
}

В файле проекта прописал вот это:

<Project Sdk="Microsoft.NET.Sdk">
    <PropertyGroup>
        <OutputType>Exe</OutputType>
        <TargetFramework>net9.0</TargetFramework>
        <ImplicitUsings>enable</ImplicitUsings>
        <Nullable>enable</Nullable>
    </PropertyGroup>
    <ItemGroup>
        <PackageReference Include="protobuf-net" Version="3.2.56"/>
        <PackageReference Include="protobuf-net.BuildTools" Version="3.2.52">
            <PrivateAssets>all</PrivateAssets>
            <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
        </PackageReference>
        <PackageReference Include="protobuf-net.Grpc" Version="1.2.2"/>
        <PackageReference Include="protobuf-net.Grpc.ClientFactory" Version="1.2.2"/>
    </ItemGroup>
    <ItemGroup>
        <AdditionalFiles Include="Protos\*.proto" Services="Client" OutputPath="Generated"/>
    </ItemGroup>
</Project>

Но почему-то в проекте становятся доступные только сообщения, но самого сервиса или интерфейса сервиса нет.

Что я делаю не так? Как правильно настроить?

Ответы

Ответов пока нет.