gprc 生成的文件中提示以下错误'WriteContext' is obsolete: 'Types with embedded references are not supported in this version of your compiler.
时间: 2024-02-27 11:53:21 浏览: 203
该 接口已经 过期 已经过期
这个错误可能是由于你的Protobuf文件中使用了嵌套定义的类型,而gRPC的新版本不再支持嵌套定义的类型。为了解决这个问题,你需要对你的Protobuf文件做出一些更改。
一种解决方案是将嵌套定义的类型转换为独立的消息类型。例如,如果你的Protobuf文件中定义了以下嵌套类型:
```
message OuterMessage {
message InnerMessage {
// ...
}
}
```
你可以将其转换为以下形式:
```
message InnerMessage {
// ...
}
message OuterMessage {
InnerMessage inner_message = 1;
}
```
这样,你就可以使用独立的消息类型来表示嵌套类型,而不会出现编译器错误。
另一种解决方案是使用较早的版本的gRPC,这些版本仍然支持嵌套定义的类型。你可以尝试使用版本4.0.0-alpha1或更早的版本来避免这个问题。
综上所述,如果你遇到了'WriteContext' is obsolete错误,可以尝试使用以上的解决方案来解决问题。
阅读全文