【问题标题】:How to find out since which .NET Standard version a given type or member is supported?如何找出支持给定类型或成员的 .NET Standard 版本?
【发布时间】:2018-02-12 05:45:11
【问题描述】:

对于以前版本的 .NET Framework,MSDN 上的文档可以让您找出哪些版本的框架支持给定的类型或成员。例如,如果我打开 System.Linq.Expressions.Expression 的文档(任何版本,例如最新版本),就会有一个版本信息部分:

它一目了然地告诉我从 .NET Framework 的哪个版本开始,以及从其他相关框架(如 Windows Phone 或 Silverlight)中的哪个版本开始,该类型已经可用。

或者,对于最低 .NET Framework 版本,我什至不必向下滚动:在页眉中打开指向其他文档版本的链接列表就足以查看最早的 Framework 版本:

现在,我从 this one 等问题中了解到,可以在 .NET API Browser 上找到 .NET Standard 的文档。

在那里,我显然可以搜索 System.Linq.Expressions.Expression 的所有文档版本,这将成功地将我发送到此类的文档。不知何故,文档默认设置为 .NET 4.7(可能是最新的框架版本?)。

但我如何在此处查看该类在哪些版本中受支持?

不是其他文档版本的列表:

虽然结构很好,但此弹出窗口显示所有框架,任何文档都可用。如果您选择的框架或框架版本不支持当前选定的命名空间(例如,尝试使用 .NET Standard 1.0 的 System.Runtime.Serialization.SerializationInfo)、类型或成员,您将自动从最新的框架版本重定向到文档确实如此。显然,使用这种偶然发现的方法来系统地了解给定命名空间、类型或成员的可用位置是非常乏味的。

【问题讨论】:

标签: .net .net-standard


【解决方案1】:

似乎此问题已在此期间得到解决:docs.microsoft.com 上的所有类型/成员相关文章现在都包含一个适用于部分,其中包含所有必要信息:

【讨论】:

    【解决方案2】:

    我不确定是否有更好的方法,但你可以试试http://packagesearch.azurewebsites.net/

    如果您在那里搜索类型,该站点将显示该类型所在的 .NET Standard 包,以及 .NET Standard 的哪些版本支持该类型。

    【讨论】:

    • 这很奇怪:当我用它搜索System.Runtime.Serialization.SerializationInfo时,它会显示47个结果。它们都标有netstandard1.3 和netstandard1.4。当我在 .NET API 浏览器中检查该类型时,它似乎只在 .NET Standard 2.0 中可用。
    • 我可以告诉你,一旦你安装了指定的System.Runtime.Serialization.Formatters 包,1.3 肯定支持该类型,所以我不确定 API 浏览器页面发生了什么。
    • “所以我不确定 API 浏览器页面发生了什么” - 也许,但是您确定您指向的站点发生了什么吗?正如我所指出的,它表示netstandard1.3 和netstandard1.4。 netstandard1.5 怎么样 - 我的理解是新的 .NET Standard 版本是以前版本的超集。还是只有从 1.6 切换到 2.0 的情况?
    • 是的,较新的版本是以前版本的超集。 packagsearch 站点不是官方的 MS 站点;它是由第三方开发的,最近显然没有更新,尽管它被广泛推荐。
    猜你喜欢
    • 2018-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-28
    • 2018-11-18
    相关资源
    最近更新 更多