使用Grpc.Core时C#中找不到Google命名空间,依赖缺失求助
解决GRPC代码生成后的依赖缺失问题
Grpc.Tools仅作为代码生成工具存在,不会附带任何运行时依赖,生成的Greeter.cs需要以下NuGet包来补全依赖:
Google.Protobuf:核心必需包,提供Protobuf序列化/反序列化的基础实现,同时包含Google API定义的通用类型(如Timestamp、Duration等),这是解决你遇到的Google API相关依赖缺失的关键。Grpc.Core或Grpc.AspNetCore:提供GRPC通信的运行时支持,处理RPC调用的底层逻辑。如果是传统.NET Framework项目选择Grpc.Core,.NET Core/.NET 5+项目推荐使用Grpc.AspNetCore(集成了ASP.NET Core生态)。Google.Api.CommonProtos:仅当你的.proto文件中引用了Google官方的API定义(如google/api/annotations.proto、google/api/http.proto)时需要,该包包含这些官方API的预生成类。
安装命令示例
Package Manager Console:
Install-Package Google.Protobuf Install-Package Grpc.AspNetCore # 替换为 Grpc.Core 适配你的项目 Install-Package Google.Api.CommonProtos # 按需安装
.NET CLI:
dotnet add package Google.Protobuf dotnet add package Grpc.AspNetCore dotnet add package Google.Api.CommonProtos
先安装前两个基础包,若仍有特定Google API依赖报错,再添加第三个包即可。
内容的提问来源于stack exchange,提问作者Mich
相关产品推荐
相关产品推荐

