While the limelight may have been snatched by the arrival of the first preview of .NET 5, its great (and occasionally not so great) grandparent, Visual Studio 2019 16.5 has shuffled out of the shadows.
The release brings together features seen in varying states of stability during the previews of the IDE into production, and follows the December 2019 release of version 16.4.
Among the many tweaks made by Microsoft to its flagship development IDE, two merit closer scrutiny. The first, XAML Hot Reload, was previewed last year. The functionality makes life considerably easier for mobile developers thanks to the removal of the frankly barking mad requirement to rebuild an app just to fiddle with the UI.
Changing the XAML now will result in changes being updated on multiple
Xamarin.Forms targets at once. Hitting Save will show the changes on Android and iOS simultaneously. If mobile development using Visual Studio is your thing, then the change will be most welcome.
Microsoft starts a grand unification attempt with .NET 5READ MORE
The arrival of decompilation of managed code in C# will also be greeted with delight by developers facing a debugging challenge and with no symbol file to look at. Teased last month the feature might disturb some since it emphasises the fact that, heck, sometimes a binary isn't a binary at all. Decompilation instead attempts to create readable source code from the intermediate language (IL) format used in .NET assemblies.
It is a handy tool to have and its results are impressive, if rarely an exact representation of the original source (variable names, whitespace and comments are discarded by the compilation process.) It does, however, give a developer a chance to work out what was going through the mind of whoever wrote the code that is doing that.
Alongside the more eyecatching updates, pinnable properties for C++ has arrived in the debugger, saving users from having to drill down into an object to peer at its properties. It is also now possible to debug processes running in Docker Windows containers.
In fact, there is much for C++ fans to like in this release. Native support for the Windows Subsystem for Linux allows a native build on WSL with build artifacts deployed to a remote machine for debugging. CMake projects are also a little simpler to manage; 16.5 allows devs to add, remove and rename source files and targets in CMake projects without having to tinker with scripts.
Finally, the .NET Object Allocation Tool has had a UI overhaul to make those tedious memory-related investigations a tad easier.
The release of version 16.5 also marked the first preview of 16.6, which brings with it an early preview of the WPF XAML Designer for .NET Framework Projects. ®