As you’ve probably already heard, .NET version 5 has released. Version 5 is actually an upgrade of .NET Core 3.1, so project and libraries that targeted .NET Core 3.1 will upgrade fairly cleanly to .NET 5. There are many improvements in .NET 5.0:
- .NET 5.0 is already battle-tested by being hosted for months at dot.net and Bing.com.
- Performance is greatly improved across many components and is described in detail at Performance Improvements in .NET 5.0, Arm64 Performance in .NET 5.0, and gRPC.
- C# 9 and F# 5 offer new language improvements such as top-level programs and records for C# 9, while F# 5 offers interactive programming and a performance boost for functional programming on .NET.
- .NET libraries have enhanced performance for Json serialization, regular expressions, and HTTP (HTTP 1.1, HTTP/2). They are also are now completely annotated for nullability.
- P95 latency has dropped due to refinements in the GC, tiered compilation, and other areas.
- Application deployment options are better, with ClickOnce client app publishing, single-file apps, reduced container image size, and the addition of Server Core container images.
- Platform scope expanded with Windows Arm64 and WebAssembly.
These are all great improvement. We will be upgrading the SimpleRPG tutorial to .NET 5 as we wrap up chapter 5 of the series. But since the new version supports what we are building in Blazor and Azure Functions, most of the same code and lessons should work the same way.