Visual Studio 2019 .NET Core 3 gRpc не создает служебные файлы

Я создал простое серверное приложение gRpc, используя шаблон в Visual Studio 2019. Затем я создал файл protobuf для сервера, но не могу заставить его сгенерировать соответствующие служебные файлы.

Файл protobuf:

syntax = "proto3";

option csharp_namespace = "RpcApi";
import "google/protobuf/timestamp.proto";

package API;

service Conferences {
    rpc GetAll (GetAllConferencesRequest) returns (GetAllConferencesResponse) {}
    rpc Add (AddConferenceRequest) returns (AddConferenceResponse) {}
}

message GetAllConferencesRequest {}

message GetAllConferencesResponse {
    repeated Conference Conferences = 1;
}

message AddConferenceRequest {
    Conference conferernce = 1;
}

message AddConferenceResponse {
    Conference conference = 1;
}

message Conference {
        int32 Id = 1;
        string Name = 2;
        google.protobuf.Timestamp Start = 3;
        string Location = 4;
        int32 AttendeeTotal = 5;
}

service Proposals {
    rpc GetAll (GetAllProposalsRequest) returns (GetAllProposalsResponse) {}
    rpc Add (AddProposalRequest) returns (AddProposalResponse) {}
    rpc Approve (ApproveRequest) returns (ApproveResponse) {}
}

message GetAllProposalsRequest {
    int32 ConferenceId = 1;
}

message GetAllProposalsResponse {
    repeated Proposal Proposals = 1;
}

message AddProposalRequest {
    Proposal Proposal = 1;
}

message AddProposalResponse {
    Proposal Proposal = 1;
}

message ApproveRequest {
    int32 Id = 1;
}

message ApproveResponse {
    Proposal Proposal = 1;
}
message Proposal {
    int32 Id = 1;
    int32 ConferenceId = 2;
    string Speaker = 3;
    string Title = 4;
     bool Approved = 5;
}

И файл проекта правильно определен:

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>netcoreapp3.0</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <Protobuf Include="Protos\rpcapi.proto" GrpcServices="Server" />
  </ItemGroup>

  <ItemGroup>
    <PackageReference Include="Grpc.AspNetCore" Version="2.23.1" />
  </ItemGroup>

  <ItemGroup>
    <Folder Include="Services\" />
  </ItemGroup>



</Project>

Он должен генерировать файлы на стороне сервера всякий раз, когда изменяется прото-файл, но он никогда не генерирует эти файлы. Что случилось?


person user2471435    schedule 15.11.2019    source источник


Ответы (1)


Это действительно работает. Файлы создаются в каталоге obj, а не в каталоге Services. Если я сделаю Показать все файлы, я их увижу.

person user2471435    schedule 26.11.2019