使用grpc构建ASP网络核心,错误:未找到wellknowntype

时间:2020-07-06 09:55:04

标签: c# .net docker grpc

我用docker构建了一个ASP Net Core API项目。该项目包含一些原始文件,并导入了一些Google知名类型。但是我得到了输出错误:

- google/protobuf/Timestamp.proto : error : File not found. [/src/mymy/mymy.csproj]
- Protos/notification.proto(4,1): error : Import "google/protobuf/Timestamp.proto" was not found or had errors. [/src/mymy/mymy.csproj]
- Protos/notification.proto(112,5): error : "google.protobuf.Timestamp" is not defined. [/src/mymy/mymy.csproj]

我将源代码放在github中:https://github.com/pearl2201/docker-aspnetcore-grpc

1 个答案:

答案 0 :(得分:1)

是正确的……它们没有定义;对于Grpc.Tools,导入仍然需要存在。为此,您可以使用ProtoRoot行上的<Protobuf ...>选项来告诉它根目录在哪里。在BUILD-INTEGRATION中还提到了$(Protobuf_StandardImportsPath),但这似乎仅指<ProtoCCommand>

(顺便说一句:protobuf-net工具在包中包含所有常用导入的副本;如果未从文件系统中解析它们,它会查看其在程序集中的内容,但是:这不是直接的更改,因为protobuf-net工具输出的C#完全不同,用于不同的库实现。