【问题标题】:How to know will nuget package work on .NET Core?如何知道 nuget 包是否可以在 .NET Core 上运行?
【发布时间】:2016-10-17 08:00:15
【问题描述】:

我希望网站或控制台中存在某种过滤器。

【问题讨论】:

    标签: nuget .net-core


    【解决方案1】:

    不幸的是,现在这并不容易。有一个issue open on the NuGet Github 是关于向网站添加过滤器的。

    目前,判断一个包是否适用于 .NET Core 的最佳方法是在“依赖项”部分检查它支持的框架。

    如果列出了.NETStandard,则该包通过.NET Platform Standard 支持.NET Core:

    如果包的 Dependencies 部分未提及 .NETStandard,或者 Dependencies 部分完全为空,则它不支持 .NET Core:

    【讨论】:

    • 我不明白为什么没有依赖意味着包不支持.NET Core?
    • @Vukoje UI 有点混乱,应该更新 IMO。没有依赖意味着“它支持 .NET Framework,无需任何额外的包”。由于 .NET Standard 将被列为依赖项目标,因此这是目前判断它是否支持 .NET Core 的最简单方法。
    • 包含 PCL 的 NuGet 包也支持 .NET Core,但不会出现在上面建议的列表中。不幸的是,通常很难从 nuget.org 上的摘要中找出哪些库提供了 PCL。此外,nuget 将要求您在 project.json 中包含“imports”语句,以使用为 PCL 配置文件构建的包。
    • 这是错误的。如果您在 Nuget 包管理器中查找 RestSharp 106.6.9,您不会看到任何依赖项,但如果您在 Nuget 包资源管理器中打开该包,您会看到支持 .NETStandard 2.0。
    • @bech 当我查看nuget.org/packages/RestSharp 时,它确实在“依赖项”部分下列出了“.NETStandard 2.0”。也许我的回答措辞令人困惑?
    【解决方案2】:

    设置您想要的版本的 .NET Core 项目。我保留了 1.1 和 2.0 项目来解决这个问题。然后尝试将 nuget 添加到项目中。

    例如,ASPOSE 不会添加到 1.1 项目,但会添加到 2.0 项目。

    在他们以某种方式解决此问题之前,短期内最简单的路线。

    显然,这并不能保证它仍然有效,但如果它的 api 兼容,它会给你一个好主意。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-31
      • 1970-01-01
      • 1970-01-01
      • 2019-01-26
      相关资源
      最近更新 更多