NuGet:需要引用隐式依赖项吗?

NuGet: Necessary to reference implicit dependencies?

我最近从 ASP.NET Core 2.2 升级。到 3.0。随着关于他们的元包的更改,我现在处于一切正常的状态,但一些非常重要的包没有明确引用。一切正常,因为它们被隐式引用。例如:

您可以看到我明确引用了 Microsoft.EntityFrameworkCore.SqlServer,但我并没有明确引用 Microsoft.EntityFrameworkCore。它仍然被引入,因为它似乎是一个间接引用。

我的问题是:这样的项目配置合理吗?显式引入 Microsoft.EntityFrameworkCore 有什么好处吗?我想在版本升级方面可能会有影响。

谢谢...

Is this a reasonable project configuration?

是的。传递依赖绝对是 SDK 风格项目中的一件事,根据我的经验,它们让生活变得更简单。

我只会添加一个冗余的 NuGet 引用,以便专门升级该包 - 我会小心只对次要版本执行此操作。例如,如果我使用依赖于包 B v1.1 的包 A v1.0,我可能会添加对包 B 的依赖以升级到 v1.2,但不会升级到 v2.0。