哪些版本的gRPC模块和工具与v 1.8.0兼容?

时间:2017-12-13 18:35:04

标签: c# grpc

我正在尝试使用最新的gRPC dll和工具编译一个简单的项目。但是我遇到了与Grpc.Tools运行时和Grpc.Core的兼容性问题。

我如何知道哪些版本的Grpc.Core,Grpc.Tools和Google.Protocol Buffers彼此兼容。

1 个答案:

答案 0 :(得分:0)

经过一些不同配置的试验后,我发现这些工作正常:

  • Google.Protobuf 3.5.0
  • Grpc 1.8.0
  • Grpc.Core 1.8.0
  • Grpc.Tools 1.8.0
  • System.Interactive.Async.3.1.1

  • Google.Protobuf 3.2.0
  • Grpc 1.7.3
  • Grpc.Core 1.7.3
  • Grpc.Tools 1.7.3
  • System.Interactive.Async.3.1.1

  • Google.Protobuf 3.2.0
  • Grpc 1.2.2
  • Grpc.Core 1.2.2
  • Grpc.Tools 1.2.2
  • System.Interactive.Async.3.1.1

我错误地将这些添加为常规依赖,而不是让NuGet管理它。我需要的只是添加" Grpc"这将自动添加Core和System dll,并确保正确的运行时dll(例如grpc_csharp_ext.x64.dll)到位。

我遇到的另一个问题是你必须将System.Interactive.Async.3.1.1作为加载的版本而不是.NET 4.5的默认版本。否则,我看到rpc调用挂起没有错误。 Visual Studio没有将3.1.1 dll应用到bin中,因为它假定GAC中的内容足够接近。要解决这个问题,我必须将Grpc nuget包添加到我的所有dll和exes中,而不要相信传递程序集复制。