What are .NET Platform Extensions on docs.microsoft.com?

There is a framework-level navigation element at Microsoft Docs called ".NET Platform Extensions". It contains docs on recently added APIs like System.IO.Pipelines and System.Threading.Channels for example, as well as a whole bunch of other APIs, including the not-so-recent ones.

Some APIs from this collection are available as nuget packages (for both .Net Core and .Net Framework), but others are not seemingly available. Also, as of now, there is no nuget package called ".NET Platform Extensions" or anything similar.

So, the question is what exactly does this collection of APIs represent? What is it's relationship to each of the following:

  • .Net Framework
  • .Net Core
  • .Net Standard

What about support in the .Net Framework / .Net Core?

Finally, some APIs seem to be already available as separate nuget packages, others are yet to be made available, so what is the story in that regard?


Solution 1:

It represents APIs that are shipped as NuGet packages instead of being part of the shared framework for .NET Core.

We don't have the ability right now to identify the different packages and which target frameworks they support on docs.microsoft.com, but it's something that is in our backlog to solve. So adding that as a new target enabled us to add docs for the new APIs.

Solution 2:

You can use Windows Compatibility Pack, if you want to target windows platform only as start of porting process and gradually use platform independent alternative from .NET core OR .NET Standard.

Refer for more detail: https://docs.microsoft.com/en-us/dotnet/core/porting/windows-compat-pack

The Windows Compatibility Pack is provided via the NuGet Package Microsoft.Windows.Compatibility and can be referenced from projects targeting .NET Core or .NET Standard.

Please refer NuGet link for more detail: https://www.nuget.org/packages/Microsoft.Windows.Compatibility and you can use it by executing below command:

Install-Package Microsoft.Windows.Compatibility -Version 3.1.0