使用 serviceBus 时,Nuget 将 Azure webjobs SDK 2.3 升级到 3.0

Nuget upgrade Azure webjobs SDK 2.3 to 3.0 when using serviceBus

Webjobs 版本 3 从 9 月左右开始发布,所以我想从 2.3.0 升级到最新版本,目前是 3.0.4。

但是,Microsoft.Azure.Webjobs.servicebus 软件包阻止我这样做。我试着查看 webjobs sdk samples,但他们遇到了与阻止升级的服务总线包完全相同的问题。

问题

  1. 升级 webjobs nuget 包的正确方法是什么?
  2. 我错了,版本 3 已经准备好投入生产了吗?

在我撰写本文时,Microsoft.Azure.WebJobs.ServiceBus 的最新发行版本是 2.3.0。 Looking at the package on nuget.org 并扩展依赖项,我看到了这个:

Microsoft.Azure.ServiceBus.EventProcessorHost (>= 2.2.10)
Microsoft.Azure.WebJobs (= 2.3.0)
Microsoft.Extensions.Logging.Abstractions (>= 1.1.1) Newtonsoft.Json
(>= 9.0.1) WindowsAzure.ServiceBus (>= 3.4.5)

注意 Microsoft.Azure.WebJobs 依赖项的版本号如何使用 = 而不是像其他依赖项那样使用 >= 。因此,指示 NuGet 不允许包的不同版本。

您可以尝试一些 3.0.0 beta 包,有趣的是,它们将 >= 用于 WebJobs 依赖项,因此您可以在使用 ServiceBus beta 时使用最新的 "release" 版本的 WebJobs 包包裹。或者,如果可以 migrate from packages.config to PackageReference,NuGet 可能会允许您使用 "incompatible" 版本的包并发出警告,但如果包作者告诉您他们的包仅适用于特定版本的依赖项,如果您使用不同的版本,运行时失败的风险会增加。

查看包Microsoft.Azure.WebJobs.ServiceBuson nuget.org,好像没有维护:

  • 最后一次发布是在 2018 年 11 月 29 日 - 一年多以前。
  • 最后一次测试是在 2018 年 8 月 30 日,也就是一年多以前。几个测试版,随后没有发布。

这看起来被遗弃了。包重命名了吗?或者将功能折叠到不同的包中?为什么这里没有升级路径指导?

此包与其他正在使用的包的依赖项之间的差异开始给我们带来问题。