Microsoft .NET Framework 4.6 is the next version of the widely popular managed runtime environment from the software giant. As of this writing, the latest stable release of Visual Studio is Visual Studio 2013. Visual Studio 2015 is still in its preview stages. Microsoft .NET Framework 4.6 ships with Visual Studio 2015 preview and includes some exciting new features and enhancements.
I was intrigued with the introduction of the newly improved 64-bit JIT Compiler in .NET Framework 4.6 that provides significant performance gains over the legacy 64 bit JIT Compiler. This article presents an overview of the new features and enhancements in Microsoft .NET Framework 4.6.
Microsoft .NET Framework 4.6 (preview version) was released in November of 2014. You can download the Microsoft .NET Framework 4.6 from here: http://www.microsoft.com/en-us/download/details.aspx?id=44928.
The new features and enhancements in .NET Framework 4.6 include the following:
- Updates to the Base Class Library (BCL)
- Support for RyuJIT
- Event tracing enhancements
- Support for code page encodings
- Other enhancements
- .NET Native
I will run through the new features and enhancements in .NET Framework 4.6 in the sections that follow.
Updates to Base Class Library (BCL)
The Base Class Library (BCL) is a collection of types in .NET Framework. There have been some major updates to the Base Class Library (BCL). In the earlier versions of .NET Framework the CultureInfo.CurrentCulture and CultureInfo.CurrentUICulture properties were read only.
With .NET Framework 4.6, these properties are now read-write. So, if you assign a CultureInfo instance to either of these properties, the CurrentCulture and CurrentUICulture properties would also be updated to reflect the change.
Support for RyuJIT
Just in Time compiler (JIT) as the name suggests, compiles your byte code to machine readable code at run time — hence the name. Microsoft .NET Framework 4.6 provides support for next generation JIT compiler named RyuJIT. This is a 64-bit JIT compiler that is much improved and optimized for use in systems that support 64-bit computing. This release of JIT has fixed the reported bugs in the earlier versions of JIT and includes SMID improvements also. There is a major improvement in the startup time with this optimized JIT.
Event Tracing Enhancements
Event tracing is now improved in .NET Framework 4.6. You can now create an EventSource instance and invoke one of its Write() methods.
public void Write<T>(
Support for Code Page Encodings
Support for code page encoding is now available. You need to add a reference to the System.Text.Encoding.CodePages.dll assembly to take advantage of this feature. The CodePagesEncodingProvider class enables access to an encoding provider for code pages. You would then need to register code page encodings using the Encoding.RegisterProvider method.
Note that this is only supported in the desktop .NET Framework and not in the preview version of .NET Framework 4.6. For your information, Microsoft .NET Framework 4.6 Preview provides support for the following encodings only:
- ASCII (code page 20127)
- ISO-8859-1 (code page 28591)
- UTF-7 (code page 65000)
- UTF-8 (code page 65001)
- UTF-16 and UTF-16LE (code page 1200)
- UTF-16BE (code page 1201)
- UTF-32 and UTF-32LE (code page 12000)
- UTF-32BE (code page 12001)
Microsoft .NET Framework 4.6 includes Immutable Collections and SIMD APIs — these are now available in GitHub as open source. There have been enhancements in the collection framework as well. The following new collection classes have been introduced.
Some new cryptography APIs have also been introduced — these include the following:
The Microsoft .NET Framework provides a platform for building applications targeted at a managed runtime environment. Microsoft .NET Framework 4.6 ships with Visual Studio 2015 and comes with features aplenty. In this article we explored the new features and enhancements in .NET Framework 4.6. Happy reading!