docs.microsoft.com上的.NET平台扩展是什么?


84

Microsoft Docs上有一个名为“ .NET Platform Extensions”的框架级导航元素。它包含有关最近添加的API(例如System.IO.Pipelines和)的文档System.Threading.Channels,以及一堆其他API(包括不太最新的API)的文档。

此集合中的某些API可作为nuget包(适用于.Net Core和.Net Framework)提供,但其他API似乎不可用。另外,到目前为止,还没有名为“ .NET平台扩展”或任何类似程序的nuget程序包。

因此,问题是这些API集合究竟代表什么?它与以下各项有什么关系:

  • .Net框架
  • .Net核心
  • .Net标准

.Net Framework / .Net Core中的支持如何?

最后,一些API似乎已经可以作为单独的nuget包使用,而另一些API尚未提供,那么这方面的故事是什么呢?


9
正如.NET-Windows .NET Core兼容性包介绍的那样,“平台扩展”是针对API的,这些API不属于平台(Core或Standard),但可以通过Nuget获得。您不会期望有一个包含所有内容的Nuget包。
Damien_The_Unbeliever

3
这是否意味着如果我使用扩展包(例如DirectorySearcher API),则可以在运行.NET core 2.2时在Linux容器上使用相同的代码。谢谢
里沙卜·in那

Answers:


61

它代表以NuGet软件包形式提供的API,而不是.NET Core共享框架的一部分。

我们目前无法在docs.microsoft.com上标识不同的程序包以及它们支持的目标框架,但这是我们积压中需要解决的问题。因此,将其添加为新目标使我们能够为新API添加文档。


5
目前尚不清楚平台扩展的真正组成部分,例如.NET平台扩展下列出了Microsoft.Extensions.Logging.Logger类(的一部分Microsoft.Extensions.Logging.Abstractions.dll),但它是ASP.NET Core 3.1共享框架的一部分
Ivan

7

如果您只想将Windows平台作为移植过程的开始,并逐渐使用.NET Core或.NET Standard的平台独立替代品,则可以使用Windows兼容包。

请参阅以获取更多详细信息:https : //docs.microsoft.com/zh-cn/dotnet/core/porting/windows-compat-pack

Windows兼容性包是通过NuGet软件包Microsoft.Windows.Compatibility提供的,可以从面向.NET Core或.NET Standard的项目中引用。

请参考NuGet链接以获取更多详细信息:https : //www.nuget.org/packages/Microsoft.Windows.Compatibility,您可以通过执行以下命令来使用它:

Install-Package Microsoft.Windows.Compatibility -Version 3.1.0
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.