我应该何时更新项目的 NuGet 包?

When should I update NuGet packages for a project?

我知道 NuGet 包更新过程不是自动的(新版本可能会破坏您的代码或导致不可预见的问题),但它会将更新所有包的责任转移给开发人员自己。我们究竟应该在什么时候更新给定项目的 NuGet 包?是否有关于此过程的一些准则?

在我们当前的项目中,这或多或少是任意的:每当我记得检查更新时,我都会更新包,最好是在冲刺开始时,这样,如果新版本出现问题,我们可以能够修复它们或回滚到有问题的软件包的以前版本。大多数时候,我是唯一担心这些东西的开发人员,但我觉得尽可能保持最新状态很有价值,因为性能原因和新功能可以使我们的工作更轻松。

嗯,有能力就更新吧

因此,您需要仔细考虑更新包可能对您的应用程序(如果已经在生产中)造成的回归,或者您需要进行额外的测试以验证一切似乎都按预期工作.

通常更新到较新的次要版本应该不会造成太大问题,但您总是有它的风险。查看较新版本的发行说明可以让您对更新的期望做好准备。

总而言之,在你能应付的时候更新,如果系统突然倒退而他们甚至不知道它来了,你可以接受测试人员的任何喊叫:)

决定包更新策略的几个小技巧:

  • 不要 运行 在已弃用的 (not-maintained) 软件包版本上生产应用程序。如果无法升级到最新版本,请至少升级到维护版本。
  • 不要在 pre-release (not-stable) 包版本上 运行 生产应用程序。升级到稳定的维护版本。
  • 在按主要版本升级时,请阅读发布者的发行说明以从应用程序上下文中了解含义 backward-compatibility。这将有助于更好地估计开发和测试工作。