Microsoft Build 2020 – Highlights for .NET Developers

Over the course of the last three days, Microsoft Build 2020 released a flood of news and announcements. For those of us who follow the .NET ecosystem, it can be difficult to wade through them all!

I’ve collected a list of announcements that I think are interesting as a .NET developer, and added short summaries. The announcements are grouped into four categories: ASP.NET, .NET, Visual Studio and Windows.

In addition, each category is split into “released” (you can use it now!) or “preview / announced” (you can test it out now, or soon).

ASP.NET

Released

  • Blazor WebAssembly is released! - v3.2.0 is an official release – it’s not a preview anymore! It’s considered ready for production use, but is not a Long Term Support release.
  • Project Tye - a tool for deploying .NET core applications to Kubernetes.

Preview / Announced

.NET

Preview / Announced

  • .NET 5 Preview 4 - C# 9 and F# 5 previews, source generators for compile-time code generation / introspection. Also some updates on publishing to a single file application. ARM processor support for Web / UI applications.
  • C# 9 Preview - A lot of new functional features. This is just a preview – features listed in this article might not make it into the final release, or might have different syntax after all the design issues have been figured out. But it’s still exciting to see C# embrace immutability!
  • F# 5 Preview - Better tooling, faster compiling, interoperability with C#’s new “default interface member” feature.
  • As part of .NET 5, Xamarin.Forms library is now called MAUI - My guess is everyone will continue to call it Xamarin.Forms. This article also mentions that Xamarin.iOS and Xamarin.Android will be integrated into .NET 6.
  • YARP Reverse Proxy Preview - High performance reverse proxy server. Think of it like an application load balancer / rewrite rules engine built as ASP.NET Core middleware.
  • Project Reunion - A polyfill library so you can use the same libraries (WinUI 3, WebView2, MSIX) on both WinForms and UWP platforms.

Visual Studio

Released

  • VS2019 16.6 released, with 16.7 in preview - VS2019 16.6 contains a new “.NET Async Tool” for debugging applications. Better snapshot debugging and refactorings. Has a new “Web Tools for Azure” tool, as well as new C++ 20 standard library features.
  • Windows Forms Designer for .NET Core - The WinForms designer now works with .NET Core WinForms applications.
  • ML.NET Model Builder in Visual Studio - The existing ML.NET Model Builder extension (which is super cool) is now integrated into Visual Studio. Add “Machine Learning” with just two clicks! …plus years of study.

Preview / Announced

Windows

Released

Preview / Announced

  • winget - a new windows package manager - Windows command line package manager like chocolately. As far as I can tell, it does not manage dependencies or updates (yet?).
  • Windows Subsystem For Linux (WSL) 2 - WSL2 will ship later this month in the Windows 10 May 2020 Update. Docker Desktop for Windows will replatform onto WSL2. GPU support for GPU processing (think CUDA, not intended for games). Linux GUI app support via wayland.

Whew! Even for a short summary, that still ended up being long. It’s been an exciting few days for the .NET ecosystem, and .NET 5 promises to keep that excitement alive.

tagged as dotnet, csharp and presentation