最近,微软发布
<https://devblogs.microsoft.com/dotnet/update-on-net-standard-adoption/>
了开发社区当前采用.NET Standard的最新信息。.NET
Standard是API的正式规范,现有.NET实现在不同平台的是通用的(从而允许跨平台开发)。当前规范(版本2.0)在两年前
<https://devblogs.microsoft.com/dotnet/announcing-net-standard-2-0/>发布,在.NET
Core 2.0和.NET Framework 4.6.1平台(以及其他
<https://github.com/dotnet/standard/blob/master/docs/versions.md>
平台)中得到支持。根据微软.NET团队的项目经理和该标准的撰写人Immo Landwerth的说法:

.NET Standard用于共享代码。.NET
Standard是一组API,所有.NET实现必须提供这些API才能符合标准。这统一了.NET实现并防止了未来的碎片化。它取代了可移植类库(PCL)并作为构建可在任何地方工作的.NET库的工具。

使用.NET Standard允许开发人员创建可以跨不同.NET实现使用的.NET库。这些库也可以作为NuGet包进行分发和使用。Visual
Studio从版本15.3开始,Visual Studio支持使用.NET Standards 2.0进行跨平台开发。 

.NET
Standard的当前采用情况是通过从nuget.org收集的数据来衡量的,考虑到(1)前1000个包(按下载次数排名)和(2)nuget.org上提供的所有包。截至2019年7月,前1000个软件包中47%和所有软件包的30%的都支持.NET
Standard。自.NET Standard 2.0规范发布以来,已经测量了采用率。对它们采用率增长的线性推断估计大约2022年能达到100%采用率 -
对于这是一个趋势线预测这一事实有很强的评价。 当前每周的数据都在增长https://www.nuget.org/stats
<https://www.nuget.org/stats>:


<https://img2018.cnblogs.com/blog/510/201909/510-20190901175450025-2031838764.png>

作为其.NET库指南的
<https://docs.microsoft.com/en-us/dotnet/standard/library-guidance/>
一部分,Microsoft建议所有开发人员都使用.NET Standard:

除了少数例外,所有库都应该以.NET Standard为目标。例外包括仅UI库(例如WinForms控件)或库,它们就像单个应用程序中的构建块一样。

.NET Standard目前正在更新到2.1版,其中包括对较新版.NET实现的支持(包括计划于下个月发布的
<https://github.com/dotnet/core/blob/master/roadmap.md> .NET Core 3.0 )。但是考虑到
.NET Framework 4.8不会实现2.1规范
<https://devblogs.microsoft.com/dotnet/announcing-net-standard-2-1/>
,Microsoft声明所有库都应该继续针对2.0规范。

有关.NET Standard的更多信息,请访问此处
<https://dotnet.microsoft.com/platform/dotnet-standard>。此外,Immo Landwerth
还在YouTube上发布了
<https://www.youtube.com/playlist?list=PLRAdsfhKI4OWx321A_pr-7HhRNk7wOLLY>一系列精选
短片 <https://www.youtube.com/playlist?list=PLRAdsfhKI4OWx321A_pr-7HhRNk7wOLLY>
,列出了.NET Standard的工作原理,以及开发人员如何使用它。