Read the affiliate disclosure page to find out how can you help MSPoweruser effortlessly and without spending any money. Read more
Back in 2016, Microsoft announced .NET Standard. .NET Standard is a set of APIs that all .NET platforms have to implement. It unifies the .NET platforms and prevents future fragmentation.
At Build 2019, Microsoft announced .NET 5, the next big release in the .NET family. It is a game-changer for .NET as it will be a unified platform using which developers can target various platforms including Windows, Linux, macOS, iOS, Android, tvOS, watchOS and WebAssembly and more.
Recently, Microsoft announced that it won’t be releasing a new version of .NET Standard in the future. .NET 5 will be a single product with a uniform set of capabilities and APIs that can be used for Windows desktop apps, cross-platform mobile apps, console apps, cloud services, and websites. .NET 5 and all future versions will continue to support .NET Standard 2.1 and earlier. You can think of .NET 5 as .NET Standard vNext. If you retarget from .NET Standard to .NET 5, you can gain access to more runtime features, language features, or APIs.
netstandard2.0to share code between .NET Framework and all other platforms.
netstandard2.1to share code between Mono, Xamarin, and .NET Core 3.x.
net5.0for code sharing moving forward.
Here’s the summary mentioned by Microsoft in its blog post related to this announcement:
net5.0is for code that runs everywhere. It combines and replaces the
netstandardnames. We also have platform-specific frameworks, such as
net5.0-windows(and later also
Since there is no difference between the standard and its implementation, you’ll be able to take advantage of new features much quicker than with .NET Standard. And due to the naming convention, you’ll be able to easily tell who can consume a given library — without having to consult the .NET Standard version table.
While .NET Standard 2.1 will be the last version of .NET Standard, .NET 5 and all future versions will continue to support .NET Standard 2.1 and earlier. You should think of
net5.0(and future versions) as the foundation for sharing code moving forward.
You can read about Microsoft’s detailed plan for .NET in the source link below.