Paul Krill
Editor at Large

Microsoft .NET 5 arrives with C# 9, F# 5

news
Nov 10, 20202 mins

New platform moves toward the unification of the .NET development experience across desktop, web, mobile, cloud, and IoT targets

multi color neon number 5 top five
Credit: Getty Images

After more than a year in development, Microsoft released its .NET 5 software development platform on Tuesday, November 10, emphasizing unification of the platform and introducing the C# 9 and F# 5 programming languages.

Described as the first release in Microsoft’s .NET unification journey, .NET 5 was built to enable a larger group of developers to migrate .NET Framework code and apps to .NET 5. The platform combines elements from the .NET Framework, .NET Core, and Mono to create a single platform for all modern .NET code. Work has been done so Xamarin developers can use the .NET Platform when .NET 6.0 is released in a year.

.NET 5 is accessible from dotnet.microsoft.com or the newly released Visual Studio 2019 update 16.8. Other key capabilities in .NET 5 include:

  • Windows ARM64 support.
  • Windows desktop development enhancements.
  • Improved JSON serializer APIs.
  • Nullable reference type annotations.
  • Web and cloud investments.
  • Single file applications and smaller container images.
  • Improved performance, with gRPC performance said to exceed Go, C++, and Java.
  • Full-stack .NET apps with the Blazor web UI framework, supporting Blazor Server and Blazor WebAssembly, which supports .NET Core framework libraries and has been made faster in .NET 5.
  • A new model is featured for supporting WinRT APIs, including calling APIs, marshaling of data between the two type systems, and unification of types intended to be treated the same across the type system or ABI boundary. The existing WinRT interop system has been removed from the .NET runtime.

C# 9, meanwhile, focuses on program simplicity, data-oriented classes, and more patterns. F# 5, an upgrade to Microsoft’s functional programming language, adds interpolated strings and open type declarations. Also, the ASP.NET Core web development platform in .NET 5 has improvements for MVC model binding, Azure AD authentication, and SignR Hub filters and parallel Hub invocations.

Microsoft’s vision for .NET calls for a .NET 5 to .NET 6 “wave,” featuring a single SDK, a cross-platform native UI, and cloud-native investments. Plans call for major .NET releases each November, with every other version to be a Long Term Support release. The next LTS release is NET 6.0. Minor releases will be offered as needed.

Paul Krill

Paul Krill is editor at large at InfoWorld. Paul has been covering computer technology as a news and feature reporter for more than 35 years, including 30 years at InfoWorld. He has specialized in coverage of software development tools and technologies since the 1990s, and he continues to lead InfoWorld’s news coverage of software development platforms including Java and .NET and programming languages including JavaScript, TypeScript, PHP, Python, Ruby, Rust, and Go. Long trusted as a reporter who prioritizes accuracy, integrity, and the best interests of readers, Paul is sought out by technology companies and industry organizations who want to reach InfoWorld’s audience of software developers and other information technology professionals. Paul has won a “Best Technology News Coverage” award from IDG.

More from this author