You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C# gRPC集成测试项目中生成客户端代码?

解决测试项目生成gRPC客户端代码的问题

以下是几个关键步骤,帮你让测试项目生成DataProviderClient:

  • 正确引用proto文件
    如果你不想在测试项目中复制服务端的proto文件,可以通过链接方式引用服务端的proto,保持文件同步且避免重复维护。修改测试项目的csproj配置:

    <ItemGroup>
        <!-- 替换为服务端项目中proto文件的实际相对路径 -->
        <Protobuf Include="..\你的服务端项目名\Protos\data.proto" Link="Protos\data.proto" GrpcServices="Client" />
    </ItemGroup>
    

    若已将proto文件复制到测试项目的Protos目录,确保Include属性的路径与实际文件位置完全匹配。

  • 安装必要的NuGet包
    测试项目必须安装以下NuGet包才能生成并运行gRPC客户端代码:

    • Grpc.Tools:负责编译proto文件生成客户端代码
    • Grpc.Net.Client:gRPC客户端运行时库
    • Google.Protobuf:Protobuf序列化核心库
  • 区分服务端与测试项目的GrpcServices配置
    服务端项目的csproj中,proto的GrpcServices需设置为Server,避免和测试项目的客户端生成逻辑冲突:

    <ItemGroup>
        <Protobuf Include="Protos\data.proto" GrpcServices="Server" />
    </ItemGroup>
    
  • 清理并重新生成解决方案
    右键解决方案→选择「清理解决方案」,之后再选择「重新生成解决方案」,清除编译缓存确保代码重新生成。

  • 检查代码生成结果
    生成的客户端代码默认存放在测试项目的obj\Debug\netX.X\Protos目录下,可查看该目录是否有DataProvider.cs文件,同时确认代码的命名空间是否与测试项目一致,或在测试代码中正确引用对应命名空间。

内容的提问来源于stack exchange,提问作者Jaczura Zoltán

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 00:12:50