.NET 7 Released with Native ARM64 & Enhanced Linux Support

Microsoft announced the release .NET 7 this Tuesday. Here are the new features and how to install guide for Linux users.

.NET 7 is a Standard Term Support (STS) release with 18 months support until May 2024.

The release features One Base Class Library (BCL). Meaning user can use one SDK, one Runtime, one set of base libraries to build many types of apps, including Cloud, Web, Desktop, Mobile, Gaming, IoT, and AI.

image from microsoft.com

Targeting .NET 7 via <TargetFramework>net7.0</TargetFramework> will make the app or library work on all supported operating systems and CPU architectures. And, allow accessing to all the APIs in .NET 7 plus operating system-specific ones.

The new release also added native support for ARM64 and 64-bit IBM Power. Meaning it runs now on 64-bit Intel/AMD, ARM64 (64-bit ARM) and s390x (64-bit IBM Z), and ppc64le (64-bit IBM Power). It also enhanced Linux support, though the announcement said the pre-built .NET 6 package in Ubuntu 22.04 repository.

Other changes in .NET 7 include:

  • New cross-platform helpers to optimize libraries on all platforms.
  • Rewriting APIs such as EncodeToUtf8 and DecodeFromUtf8 which boosts up to 60%.
  • many MicroBenchmarks improved by 10-60%.
  • Easy to build and deploy distributed cloud native apps
  • Blazor has support for handling location change events
  • Blazor has out-of-the-box support for OpenID Connect authentication.
  • Azure’s PaaS services support.
  • Built-in container support.

See the full changes by visiting the official release page.

How to Install .NET 7 in Linux:

Microsoft offers the official download page for .NET 7 at the link below:

For Linux, there are official repositories present. And I’ve written a step by step tutorial shows how to install .NET 6 and/or .NET 7 in different Linux distributions.

Merilyn Ne
Hi, I'm Merilyn Ne, a computer geek working on Ubuntu Linux for many years and would like to write useful tips for beginners. Forgive me for language mistakes. I'm not a native speaker of English.