如何在不破坏我的项目的情况下升级 NuGet 包?

How to upgrade NuGet packages without breaking my project?

我有一个旧的 MVC 应用程序需要进行更改。更新所有推荐的 NuGet 包会很好,但我从经验中知道这可能会破坏项目。

特别是以下问题让我感到困扰:

如果以某种方式阅读这篇文章,它似乎实际上是在建议我升级到 Twitter Bootstrap 5.1.2。我知道自从我的当前版本以来已经实施了许多重大更改。

我不想重写网站。我认为更新可能更聪明一些。我真的需要足够了解每个包才能知道它是否包含重大更改吗?没有办法指定兼容的更新吗?微软考虑过这方面吗?

您确实需要对每个包都足够了解。为什么?因为没有单一的版本控制方法。一些包,甚至可能很多包,遵循 Semantic Versioning,但没有什么可以阻止任何人使用他们想要的任何版本控制(即使它没有意义)。没有什么可以阻止您通过更改不重要的 .txt 文件来 3.0.115.14.13

您有责任知道更新什么以及何时更新。查看此问答以了解如何限制建议的版本:NuGet Limit max major version of a package