Nuget 包管理器为另一个目标安装依赖项

Nuget package manager installs dependencies for another target

所以我有一个针对多个版本(.net 4.5、4.6.1、netcore 2.0)的 DLL,它被推送到 Klonkdike 现在我想使用这个 DLL,我的项目是 .net 4.6.1,所以我希望只解决对这个目标的依赖。 但是,我的 packages.config 获得了所有 .netcore 依赖项。我怎样才能防止这种情况发生?

这是 DLL:

这是获取此包时添加的内容:

我希望只添加 UAParser 而没有其他更改,因为我已经有了依赖项。 包的 lib 文件夹中有 3 个文件夹,所以我希望只需要这些特定的依赖项...

如何避免添加所有这些依赖项?

UAParser 是一个纯基于 .NET Standard 的库。

.NET Standard 低于 2.0 的版本依赖于这些库。但是,VS 2017 中的新工具(确保你至少有 15.5.0)在构建过程中修剪掉这些包并确保正确的程序集就位(这些也可能是 System.* dll 文件,但不是来自这些文件包)。

在 .NET Framework 上实施 .NET Standard 协定需要通过工具放置的这些 dll - 它们转发给 .NET Framework 实施。

在即将推出的 .NET 4.7.2 中,计划不再需要任何这些 DLL。在那之前,它们是必要的。