.NET 7 Preview 5 has now been released for the developers to test out before the actual, stable .NET 7 is released. With each iteration, new features, support, and improvements are added so that when the stable version comes out, the developers already know what to expect.
With Preview 5, Microsoft has only focused on a feature known as “Generic Math.” This feature was first released with .NET 6. Since then, Microsoft has been continuously working on this feature to enhance it and make improvements.
You can download and install .NET 7 Preview 5 on your compatible devices using the direct download links shared below. .NET 7 can be installed on the following platforms:
- Windows
- Linux
- MacOS
.NET 7 Preview 5 has been tested with Visual Studio 17.3 Preview 2, thus Microsoft recommends that you use it with preview channel releases of Visual Studio only to avoid compatibility conflicts.
Let us now dig into the new improvements this release has to offer before you download and test it out.
New in .NET 7 Preview 5
Generic Math
Generic Math combines the power of generics and a new feature known as “Static virtuals in interfaces” to allow the .NET developers to take advantage of static APIs, including operators, from generic code.
Developers now no longer need to write or maintain almost-identical implementations to support multiple number-like types. Instead, you can now use the power of generics with the ability to constrain the input to types.
You now get access to all your favorite operators like static T Add(T left, T right) where T : INumber => left + right;
, which was previously impossible to define. You can use these operators from generic contexts.
To learn more about the Generic Math feature, refer to this Microsoft guide post.
Improvements to Observability
A series of improvements have been made to support observability in .NET 7 since the last few flights. Microsoft has also made a new improvement to observability in .NET 7 Preview 5 as well.
You can now expose performant ActivityEvent and ActivityLink to enumerate the Tag objects without any extra allocations and fast items access.
Polymorphism
The support for serializing and deserializing polymorphic type hierarchies has been added to the System.Text.Json
. This can be done using attribute annotations. Here is an example from Microsoft:
[JsonDerivedType(typeof(Derived))]
public class Base
{
public int X { get; set; }
}
public class Derived : Base
{
public int Y { get; set; }
}
Other Breaking Changes
Some other significant changes since the release of .NET 6 include the following:
System.IParseable
has been renamed toSystem.IParsable
.- All the other new numeric interfaces have been moved to the
System.Numerics
namespace. - Introducing
INumberBase
so that types likeSystem.Numerics.Complex
can be represented. - Splitting the IEEE 754 specific APIs into their own
IFloatingPointIeee754
interface so types likeSystem.Decimal
can be represented. - Moving various APIs lower in the type hierarchy such as the
IsNaN
orMaxNumber
APIs:- Many of the concepts will return a constant value or be a
no-op
on various types. - Despite this, it is still important that they’re available since the exact type of a generic is unknown and many of these concepts are important for more general algorithms.
- Many of the concepts will return a constant value or be a
The list does not end here. To read about what other changes have been made to .NET, read this Microsoft post.
Download .NET 7 Preview 5
Use the direct download links below to download the .NET 7 Preview 5 Runtime, SDKs, and ASP.NET Core matching your operating system and architecture:
Runtime
Download .NET 7.0.0 Preview 5 Desktop Runtime for Windows x64
Download .NET 7.0.0 Preview 5 Desktop Runtime for Windows x86
Download .NET 7.0.0 Preview 5 Desktop Runtime for Windows ARM64
Download .NET 7.0.0 Preview 5 Runtime for macOS x64
Download .NET 7.0.0 Preview 5 Runtime for macOS ARM64
Download .NET 7.0.0 Preview 5 Runtime Binaries for Linux Arm32
Download .NET 7.0.0 Preview 5 Runtime Binaries for Linux Arm64
Download .NET 7.0.0 Preview 5 Runtime Binaries for Linux Arm32 Alpine
Download .NET 7.0.0 Preview 5 Runtime Binaries for Linux Arm64 Alpine
Download .NET 7.0.0 Preview 5 Runtime Binaries for Linux x64
Download .NET 7.0.0 Preview 5 Runtime Binaries for Linux x64 Alpine
SDKs
Download .NET SDK 7.0.100 Preview 5 for Windows x64
Download .NET SDK 7.0.100 Preview 5 for Windows x86
Download .NET SDK 7.0.100 Preview 5 for Windows ARM64
Download .NET SDK 7.0.100 Preview 5 for macOS x64
Download .NET SDK 7.0.100 Preview 5 for macOS ARM64
Download .NET SDK 7.0.100 Preview 5 Binaries for Linux Arm32
Download .NET SDK 7.0.100 Preview 5 Binaries for Linux Arm64
Download .NET SDK 7.0.100 Preview 5 Binaries for Linux Arm32 Alpine
Download .NET SDK 7.0.100 Preview 5 Binaries for Linux Arm64 Alpine
Download .NET SDK 7.0.100 Preview 5 Binaries for Linux x64
Download .NET SDK 7.0.100 Preview 5 Binaries for Linux x64 Alpine
ASP.NET Core
Download ASP.NET Core Runtime 7.0.0 Preview 5 Hosting Bundle for Windows
Download ASP.NET Core Runtime 7.0.0 Preview 5 for Windows x64
Download ASP.NET Core Runtime 7.0.0 Preview 5 for Windows x86
Download ASP.NET Core Runtime 7.0.0 Preview 5 Binaries for Windows ARM64
Download ASP.NET Core Runtime 7.0.0 Preview 5 Binaries for macOS x64
Download ASP.NET Core Runtime 7.0.0 Preview 5 Binaries for macOS ARM64
Download ASP.NET Core Runtime 7.0.0 Preview 5 Binaries for Linux Arm32
Download ASP.NET Core Runtime 7.0.0 Preview 5 Binaries for Linux Arm64
Download ASP.NET Core Runtime 7.0.0 Preview 5 Binaries for Linux Arm32 Alpine
Download ASP.NET Core Runtime 7.0.0 Preview 5 Binaries for Linux Arm64 Alpine
Download ASP.NET Core Runtime 7.0.0 Preview 5 Binaries for Linux x64
Download ASP.NET Core Runtime 7.0.0 Preview 5 Binaries for Linux x64 Alpine
More download and install options here.
Install .NET 7 Preview 5
You can begin by downloading .NET 7 Preview 5 for your architecture from the links above and then execute it to begin the installation process.
-
Run the installation package by double-clicking it (in the case of macOS and Windows), and then clicking Install on the installation wizard.
-
The installation will now begin. It does not take much time nor does it require a restart. Click Close once it has been installed successfully.
You have now installed .NET 7 Preview 5. You may check which .NET version is running by typing in the following command in Command Prompt:
wmic product get description | findstr /C:.NET
Closing Words
.NET 7 Preview 5 focuses primarily on one feature which is “Generic Math.” After reviewing the detailed release notes, we can conclude that there is a plethora of new features and support inside the update. However, the developers may need a learning curve to familiarize themselves with all Generic Math, as well as the other improvements, have to offer.
This is why we recommend to our .NET developers to test out .NET 7 Preview 5 on their testing environment and get to see the live-action of the new functionalities and operations.