簡體   English   中英

使用 csharp GRPC gen 導入的 proto 文件未生成

[英]using csharp GRPC gen imported proto file not generated

我已將模型和服務分成單獨的文件

  • main.proto
    syntax = "proto3";
    package grpc;
    import "sub.proto";
    
    service Users {
        // SSO Adapter Profiles
      
        rpc AddUser (UserRequest) returns (UserResponse) {}
    }
  • 子原型
    syntax = "proto3";
    package grpc;
    
    
    message UserRequest {
        string FirstName = 1;
        string LastName = 2;
    }
    
    message UserResponse {
        int64  id=1;
    }

使用此命令protoc --proto_path=./ --csharp_out=./out/dotnet --grpc_out=./out/dotnet./main.proto將在.cs中生成 GRPC 服務\客戶端文件,但不會生成模型由於缺少 grpc API 中使用的類型而導致編譯錯誤。

如果我將模型聲明移到main.proto ,一切正常。有什么方法可以保持分離嗎?

您可以將通配符 * 用於多個 protofile

protoc --proto_path=./ --csharp_out=./out/dotnet --grpc_out=./out/dotnet ./*.proto

protoc將多個 proto 文件作為參數:

❯ protoc --help
Usage: protoc [OPTION] PROTO_FILES

您應該能夠像這樣添加sub.proto作為參數: protoc --proto_path=./ --csharp_out=./out/dotnet --grpc_out=./out/dotnet./main.proto./sub.proto .

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM