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。在那之前,它们是必要的。
所以我有一个针对多个版本(.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。在那之前,它们是必要的。