【问题标题】:Visual Studio 2019 .NET Core 3 gRpc not generating service filesVisual Studio 2019 .NET Core 3 gRpc 不生成服务文件
【发布时间】:2019-11-15 21:08:54
【问题描述】:

我使用 Visual Studio 2019 中的模板创建了一个简单的 gRpc 服务器应用程序。然后我为服务器创建了一个 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>

它应该在 proto 文件更改时生成服务器端文件,但它从不生成这些文件。怎么了?

【问题讨论】:

    标签: asp.net-core grpc visual-studio-2019 asp.net-core-3.0


    【解决方案1】:

    它确实有效。这些文件是在 obj 目录而不是 Services 目录中生成的。如果我确实显示所有文件,我可以看到它们。

    【讨论】:

      猜你喜欢
      • 2020-02-28
      • 2020-01-10
      • 2021-05-07
      • 2020-01-25
      • 1970-01-01
      • 1970-01-01
      • 2021-11-19
      • 1970-01-01
      • 2021-05-12
      相关资源
      最近更新 更多