Nuget Grpc.Core 包版本
Nuget Grpc.Core package versions
注意到有一个Grpc.Core nuget package v2.23.0. Few months ago I used (as I thought the latest package) v1.22.0. Checked GRPC releases,现在最新的是v1.23.1。我希望 Grps.Core 对应于 grpc 版本。
为什么版本改为2..。 ?有什么重大变化吗?
Why the version was changed to 2... ?
因为它进行了重大更改,仅适用于 .NET。
Are there any significant changes?
是 - 对于 一些 用户。有两个重大变化:
- 已删除对
System.Collections.Generic.IAsyncEnumerator<T>
(来自 System.Interactive.Async
)的引用
- 已引入新基地class
ChannelBase
第一个变化是因为 IAsyncEnumerator<T>
现在是标准库的一部分,但它与 System.Interactive.Async
中的版本不同。基本上 Grpc.Core / Grpc.Core.Api 的旧版本不能很好地与那个一起玩。
第二个更改是为了在纯 .NET 实现(Grpc.Net.Common
等)和现有的 Google 实现(Grpc.Core)之间提供更好的通用性。
许多用户——尤其是那些不使用流式通话的用户——将能够重建。如果您确实使用流式调用,特别是如果您通过IAsyncEnumerator<T>
抽象了它们,您可能需要做一些升级工作。
重要的是要注意,如果您使用的任何依赖项又依赖于 Grpc.Core 1.x,您 不能 使用 Grpc.Core 2.x 在同一项目中,直到这些依赖项已更新。 (例如,所有 Google 云客户端库目前都依赖于 1.x。我们计划在 2019 年底之前自己进行主要版本升级,然后依赖于 2.x。)
中有详细说明
对于那些想知道如何将 gRPC .NET 版本与 gRPC 核心版本进行比较的人,@JonSkeets 的回答中提到的建议摘录应该有所帮助。
Therefore we will make both changes at the same time and release the
next gRPC C# version as v2.23.0 (instead of v1.23.0).
We chose version v2.23.0 instead of v2.0.0 so that the minor version
number can still be used for comparing how old a given release is
relative to all other gRPC implementations. E.g. gRPC C# 2.24.x will
be released together with gRPC C++ 1.24.x.
NO protocol changes are proposed between gRPC C# version 2.x and 1.x -
both versions will be fully interoperable with each other and also
with all other gRPC implementations.
注意到有一个Grpc.Core nuget package v2.23.0. Few months ago I used (as I thought the latest package) v1.22.0. Checked GRPC releases,现在最新的是v1.23.1。我希望 Grps.Core 对应于 grpc 版本。
为什么版本改为2..。 ?有什么重大变化吗?
Why the version was changed to 2... ?
因为它进行了重大更改,仅适用于 .NET。
Are there any significant changes?
是 - 对于 一些 用户。有两个重大变化:
- 已删除对
System.Collections.Generic.IAsyncEnumerator<T>
(来自System.Interactive.Async
)的引用 - 已引入新基地class
ChannelBase
第一个变化是因为 IAsyncEnumerator<T>
现在是标准库的一部分,但它与 System.Interactive.Async
中的版本不同。基本上 Grpc.Core / Grpc.Core.Api 的旧版本不能很好地与那个一起玩。
第二个更改是为了在纯 .NET 实现(Grpc.Net.Common
等)和现有的 Google 实现(Grpc.Core)之间提供更好的通用性。
许多用户——尤其是那些不使用流式通话的用户——将能够重建。如果您确实使用流式调用,特别是如果您通过IAsyncEnumerator<T>
抽象了它们,您可能需要做一些升级工作。
重要的是要注意,如果您使用的任何依赖项又依赖于 Grpc.Core 1.x,您 不能 使用 Grpc.Core 2.x 在同一项目中,直到这些依赖项已更新。 (例如,所有 Google 云客户端库目前都依赖于 1.x。我们计划在 2019 年底之前自己进行主要版本升级,然后依赖于 2.x。)
中有详细说明对于那些想知道如何将 gRPC .NET 版本与 gRPC 核心版本进行比较的人,@JonSkeets 的回答中提到的建议摘录应该有所帮助。
Therefore we will make both changes at the same time and release the next gRPC C# version as v2.23.0 (instead of v1.23.0).
We chose version v2.23.0 instead of v2.0.0 so that the minor version number can still be used for comparing how old a given release is relative to all other gRPC implementations. E.g. gRPC C# 2.24.x will be released together with gRPC C++ 1.24.x.
NO protocol changes are proposed between gRPC C# version 2.x and 1.x - both versions will be fully interoperable with each other and also with all other gRPC implementations.