【发布时间】:2021-04-17 11:12:39
【问题描述】:
我已将模型和服务分成单独的文件
- main.proto
syntax = "proto3";
package grpc;
import "sub.proto";
service Users {
// SSO Adapter Profiles
rpc AddUser (UserRequest) returns (UserResponse) {}
}
- sub.proto
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(./*.proto 而不是 ./main.proto)?
-
这实际上有帮助..我认为它会自动发生,我不必指定..但确实使用通配符对我有用..
-
太棒了。我将其添加为答案。
标签: c# protocol-buffers grpc