Learn about the ‘New Features of .NET 8’ and following ‘.NET SDK’ changes,
1.
Terminal build output
2.
Simplified output paths
3.
The dotnet workload clean command
4.
The 'dotnet publish' and 'dotnet pack' assets
5.
The dotnet restores security auditing
6.
Template Engine
7.
Interface Hierarchies
8.
Performance improvements points
1) Terminal build output: '.NET 8' introduces an option 'dotnet build'
to produce a more modernized build output
2) Simplified
output paths: '.NET 8' introduces an option 'simplified output paths' to simplify
the output path and folder structure for build outputs. By default, the common
location is a folder named artifacts in the root of your repository rather than
in each project folder.
3) The dotnet
workload clean command: '.NET 8' introduces a new command 'dotnet workload clean' to clean
up workload packs previously it was not.
The command
has two modes:
1.
dotnet workload clean
2.
dotnet workload clean –all
The dotnet workload
clean: Runs workload garbage collection for
file-based or MSI-based workloads, which cleans up orphaned packs.
The dotnet workload
clean --all: It is used to clean every pack on the machine of the current SDK workload installation type and removes all workload installation
records for the running .NET SDK feature.
4) The 'dotnet
publish' and 'dotnet pack' assets: The dotnet publish and dotnet pack commands make it even easier to produce production-ready code.
5) The dotnet
restore security auditing: '.NET 8' introduces security
checks for known vulnerabilities when dependency packages are restored
6) Template Engine: The template
engine provides a more secure experience in .NET 8 by integrating some of
NuGet's security-related features.
7) Interface Hierarchies: .NET 8 adds
support for serializing properties from interface hierarchies.
8) Performance
improvements
.NET 8
includes improvements to code generation and just-in-time (JIT) compilation:
1.
The dynamic profile-guided optimization (PGO) has been improved and is
now enabled by default.
2.
Arm64 performance improvements
3.
SIMD performance improvements
4.
Now start Supporting AVX-512 ISA extensions
5.
Cloud-native performance improvements
6.
JIT throughput performance improvements
7.
Loop and general performance optimizations
8.
Optimized access for fields marked with ThreadStaticAttribute
9.
JIT/NativeAOT can now unroll and auto-vectorize some memory operations
with SIMD, such as comparison, copying, and zeroing, if it can determine their
sizes at compile time.