为什么在获取 Akka.Net 时所有 System.* NuGet 包?

Why all the System.* NuGet packages when getting Akka.Net?

当我安装 NuGet 包时 Akka.Net 一大堆 Microsoft 系统包被下载并作为包安装。 System.IO 例如

所有这些包都可能在 .NET Framework 4.6.1 中可用,我想知道为什么 Akka.Net 不假定某个 .NET Framework 已经就位。

可以说是因为 Akka.Net 想要独立于平台吗?

是否可以告诉 Akka.Net 就地使用 .NET Framework?

如果您检查依赖关系,您将看到

.NETFramework 4.5

  • Newtonsoft.Json (>= 9.0.1)
  • System.Collections.Immutable (>= 1.3.1)

如果您随后检查 System.Collections.Immutable 的依赖项,您将看到当前版本 (1.4.0) 没有 .NETFramework 4.5 部分,这会导致下载所有这些额外文件,因为它必须将其视为网络标准应用程序。

如果您首先手动获取软件包 System.Collections.Immutable 版本 1.3.1,则该版本有一个 .NETFramework 4.5 部分。如果你已经安装了 1.3.1 版本,它应该不会再尝试获取 1.4.0 版本了。

您还可以在 NuGet 设置中更改您的依赖行为以获得最低编号的依赖项或最高补丁版本(第三个数字是补丁版本),您可能将您的设置设置为最高或最高次要