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

.Net.Net CoreNugetNuget Package.Net Standard

.Net Problem Overview


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?

.Net Solutions


Solution 1 - .Net

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 - .Net

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

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionFit DevView Question on Stackoverflow
Solution 1 - .NetMaíra Wenzel - MSFTView Answer on Stackoverflow
Solution 2 - .NetNikunj BankerView Answer on Stackoverflow