.NET标准API参考

Jér*_*VEL 15 .net .net-core .net-standard

更新:

所以现在似乎是一个悬而未决的问题.所以我想在完成这项工作之前我将不得不依赖.NET Core API参考并祈祷我不会打到其中一个,43 APIs that .NET Framework 4.6.1 doesn't support但官方认为...

同样依赖.NET Core API参考并考虑与.NET标准相同可能会非常令人惊讶.例如,当我查看命名空间列表时,我可以看到,System.Drawing但是当点击它时,我们意识到这是一个几乎空的命名空间,只包含6个结构.

有这样的几个名称空间吗?我不知道我必须比较.NET核心和.NET Framework文档才能得到答案.

原始邮寄:

我正在尝试找到.NET Standard API参考.

此页面上只有指向.NET Core API reference和的链接.NET Framework API reference.

是的我已经搜索过,而且我已经阅读了其他的SO问题.例如,这个答案指向.NET Core API引用而不是.NET标准,并且在此Github问题源中也是如此

但.NET Core和.NET Standard是不同的..NET Core实现.NET标准API.

我在这里看到的一个大问题是例如基于官方文档 .NET Framework 4.6.1将实现.NET Standard 2.0

在此输入图像描述

好的,除了.NET Standard Github自述页面也在说

另一方面,.NET Standard 2.0添加了许多.NET Framework 4.6.1已经支持的API.delta看起来如下:

  • .NET Standard 2.0添加了.NET Framework 4.6.1已支持的14,994个API

  • .NET Standard 2.0只有43个.NET Framework 4.6.1不支持的API最初,我们计划简单地从.NET Standard 2.0中删除这些API,以便更容易理解.NET Framework 4.6的工作原理. 1.

但是,我们得到了很多关于此的反馈.您告诉我们,这个决定使得很难推断.NET标准版本规则.因此,我们决定简化这个:

  • .NET Standard 2.0将是.NET Standard 1.6的严格超集.换句话说,.NET Standard 2.0和1.x之间不会发生重大变化.

  • .NET Framework 4.6.1将允许引用针对.NET Standard 2.0编译的二进制文件.考虑到.NET Framework 4.6.1不支持的API数量很少,并且这些都是采用率较低的全新API,我们相信这是一个更好的权衡.

您可以使用API​​端口扫描给定的应用程序,以确保应用程序中的代码不依赖于这些API.

所以呢?他们解决这个问题的方法是to scan a given application?因此,如果我开始一个新项目,给出我还没有编写代码的事实,我会针对.NET Standard并祈祷我最终不会得到应该支持的不受支持的API?

在其他框架中还有像Xamarin或UWP这样的其他案例吗?这vNext在2.0专栏中到底意味着什么?我应该担心其他框架中的其他不受支持的API,因为Considering the number of APIs that [Framework name] will not support is low and that these are all brand-new APIs with low adoption we believe this is a much better trade-off

我能找到这个问题的最接近的答案是查看NETStandard.Library NuGet包的依赖关系.然而,这给了我1.3版本的依赖(不是1.6或我真的不理解这一部分),并没有给我API参考下一个2.0应该已经确定.

难道我们不能拥有每个.NET标准版本真正支持的完整文档列表吗?.NET Standard的唯一目标是为开发人员提供这些非常重要的信息,为什么我找不到它?

Tho*_*mas 6

有一个由PM为BCL(Immo Landwerth)维护的精美网页.它显示了所有API,它们在所有可以想象的平台(.NET Framework,.NET Core,UWP,Mono,...)中的当前实现以及它们在.NET标准版本中的状态,包括2.0的计划.

http://apisof.net(列表示例)

希望有所帮助.基于标准的库可能会抛出某些边缘情况这一事实是不幸的.我猜周围会有一些工具.

Delta介于1.4和1.5之间:https: //github.com/dotnet/standard/blob/master/docs/versions/netstandard1.5_diff.md

Delta介于1.5和1.6之间:https: //github.com/dotnet/standard/blob/master/docs/versions/netstandard1.6_diff.md

不要过于担心4.6 vs 4.6.2问题.当我记得对,他们将解决这个问题.

关于绘图的关注:确实是最烦人的问题.System.Drawing基于GDI,因此无处可用.有共同任务的替代方案.不要忘记,大多数渲染是客户端的东西,因此不完全是标准的用例,而是更具体的应用程序模型.


Jér*_*VEL 2

正如 Martin 在他的评论中提到的,.NET API 浏览器正是我不久前所寻找的。

您可以使用 .NET 标准 API 或任何框架实现进行选择和过滤,甚至可以选择任何版本。太完美了,微软应该早点做这个。