What's New in version 5.0:

What's new in .NET 5:

  • NET 5.0 is the next major release of .NET Core following 3.1. We named this new release .NET 5.0 instead of .NET Core 4.0 for two reasons:
  • We skipped version numbers 4.x to avoid confusion with .NET Framework 4.x.
  • We dropped 'Core' from the name to emphasize that this is the main implementation of .NET going forward. .NET 5.0 supports more types of apps and more platforms than .NET Core or .NET Framework.
  • ASP.NET Core 5.0 is based on .NET 5.0 but retains the name 'Core' to avoid confusing it with ASP.NET MVC 5. Likewise, Entity Framework Core 5.0 retains the name 'Core' to avoid confusing it with Entity Framework 5 and 6.

.NET 5.0 includes the following improvements and new features compared to .NET Core 3.1:

  • C# updates
  • F# updates
  • Visual Basic updates
  • System.Text.Json new features
  • Single file apps
  • App trimming
  • Windows ARM64 and ARM64 intrinsics
  • Tooling support for dump debugging
  • The runtime libraries are 80&'37; annotated for nullable reference types

Performance improvements:

  • Garbage Collection (GC)
  • System.Text.Json
  • System.Text.RegularExpressions
  • Async ValueTask pooling
  • Container size optimizations
  • Many more areas
  • NET 5.0 doesn't replace .NET Framework
  • .NET 5.0 is the main implementation of .NET going forward and .NET Framework 4.x is still supported.
  • NET 5.0 doesn't replace .NET Standard
  • New application development can specify the net5.0 target framework moniker (TFM) for all project types, including class libraries. Sharing code between .NET 5 workloads is simplified in that all you need is the net5.0 TFM.
  • For .NET 5.0 apps and libraries, the net5.0 Target Framework Moniker (TFM) combines and replaces the netcoreapp and netstandard TFMs. However, if you plan to share code between .NET Framework, .NET Core, and .NET 5 workloads, you can do so by specifying netstandard2.0 as your TFM. For more information, see .NET Standard.