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

时间:2018-01-23 15:06:14

标签: c# nuget dependency-management

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

这是DLL: enter image description here

这是获取此包时添加的内容: enter image description here

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

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

1 个答案:

答案 0 :(得分:2)

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

低于2.0的.NET标准版本取决于这些库。但是,VS 2017中的新工具(确保您至少有15.5.0)在构建期间修剪掉这些包,并确保正确的程序集到位(这些也可能是System。* dll文件,但不是来自这些包)。

需要通过工具实现这些dll来实现.NET Framework上的.NET标准合同 - 它们转发到.NET Framework实现。

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