【问题标题】:Nuget package manager installs dependencies for another targetNuget 包管理器为另一个目标安装依赖项
【发布时间】:2018-01-23 23:11:57
【问题描述】:

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

这是 DLL:

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

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

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

【问题讨论】:

    标签: c# nuget dependency-management


    【解决方案1】:

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

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

    这些通过工具放置的 dll 需要在 .NET Framework 上实现 .NET Standard 合同 - 它们转发到 .NET Framework 实现。

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

    【讨论】:

    • 谢谢。我们已移至 15.5,生成的版本很干净。
    猜你喜欢
    • 1970-01-01
    • 2019-11-05
    • 2019-03-19
    • 1970-01-01
    • 2019-08-05
    • 1970-01-01
    • 2019-01-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多