Digest - Microsoft Build 2021

Digest of the free virtual event at https://mybuild.microsoft.com/home held May 25-27, 2021 plus a bit more. Previous year digest can be found at Digest - Microsoft Build 2020 for more content 😁. Be sure to check out the accompanying blog post on C# 10 - record struct Deep Dive & Performance Implications too!

Announcements and Blog Posts


Announcing .NET 6 Preview 4

Summary: Great, long and detailed post about everything .NET 6 Preview 4 by Rich Lander. To pick one thing to highlight the FileStream performance on Windows has been significantly improved based on work by Ben {chmark} Adams, Adam Sitnik and more. Results below speak for themselves, see the blog post for details.

Method Runtime Mean Ratio Allocated
ReadAsync .NET 5.0 3.785 ms 1.00 39 KB
ReadAsync .NET 6.0 1.762 ms 0.47 1 KB
         
WriteAsync .NET 5.0 12.573 ms 1.00 39 KB
WriteAsync .NET 6.0 3.200 ms 0.25 1 KB

Announcing .NET MAUI Preview 4

Summary: David Ortinau announces the availability of .NET Multi-platform App UI (.NET MAUI) Preview 4, which now has enough building blocks to build functional applications for all supported platforms (incl. Windows), new capabilities to support running Blazor on the desktop, and exciting progress in Visual Studio to support .NET MAUI (e.g. .NET Hot Reload 🔥) see next link.

.NET MAUI Preview 4


Introducing the .NET Hot Reload experience for editing code at runtime

Summary: Dmitry Lyalin introduces you to the availability of the .NET Hot Reload experience in Visual Studio 2019 version 16.11 (Preview 1) and through the dotnet watch command-line tooling in .NET 6 (Preview 4).

.NET Hot Reload

For the full power of this feature .NET 6 (and future releases of .NET) and Visual Studio 2022 are targeted.


ASP.NET Core updates in .NET 6 Preview 4

Summary: Daniel Roth shares what’s new in this preview release:

  • Introducing minimal APIs
  • Async streaming
  • HTTP logging middleware
  • Use Kestrel for the default launch profile in new projects
  • IConnectionSocketFeature
  • Improved single-page app (SPA) templates
  • .NET Hot Reload updates
  • Generic type constraints in Razor components
  • Blazor error boundaries
  • Blazor WebAssembly ahead-of-time (AOT) compilation
  • .NET MAUI Blazor apps
  • Other performance improvements

Announcing Entity Framework Core 6.0 Preview 4: Performance Edition

Summary: Shay Rojansky covers:

  • EF Core 6.0 performance is now 70% faster on the industry-standard TechEmpower Fortunes benchmark, compared to 5.0.
  • This is the full-stack perf improvement, including improvements in the benchmark code, the .NET runtime, etc. EF Core 6.0 itself is 31% faster executing queries.
  • Heap allocations have been reduced by 43%.

Loving the across the board perf push ♥ It is, though, driven primarily by the TechEmpower web-focused benchmarks. We need industry-standard desktop benchmarks. 🤞


Visual Studio 2019 v16.10 and v16.11 Preview 1 are Available Today!

Summary: Justin Johnson announces the release of Visual Studio 2019 v16.10 GA (and v16.11 preview 1) with:

  • C++20 features.
  • Improved Git integration.
  • Improved profiling tools.
    • The .NET Object Allocation tool in the Performance Profiler is first tool transitioned to our new analysis engine which is significantly faster and provides more features. After collection you can get to your results and build call-trees faster (~40% increase). Nice!
  • A host of features that accelerate productivity.

Visual Studio 2022

Summary: Amanda Silver shares exciting news with the first public preview of Visual Studio 2022 being released this summer. 64-bit! And new icons 😅

Visual Studio 2022 New Icons


F# and F# tools update for Visual Studio 16.10

Summary: Philip Carter announces updates to the F# tools for Visual Studio 16.10 with:

  • Support for Go to Definition on external symbols
  • Better support for mixing C# and F# projects in a solution
  • More quick fixes and refactorings
  • More tooling performance and responsiveness improvements
  • More core compiler improvements

Learn What’s New in .NET Productivity

Summary: Mika Dumont shares the latest tooling updates in Visual Studio 2019. Jam-packed with small clips and screen shots. Covers:

To enable many of these you need to go to Tools > Options > Text Editor > C# or Basic > Advanced or Tools > Options > Text Editor > C# > IntelliSense in Visual Studio.


Date, Time, and Time Zone Enhancements in .NET 6

Summary: Matt Johnson-Pint covers the following topics:

Videos

I have selected a few videos I found interesting below incl. full playlist of all videos from the conference. With summaries some of which are just copies of the official summary.

Playlist and Live Streams


Microsoft Build 2021 All Sessions Playlist

Microsoft Build 2021 All Sessions Playlist

Summary: 251 videos excl. the full day streams.


Microsoft Build 2021 LIVE Day 1

Summary: Full day 1 live stream.


Microsoft Build 2021 LIVE Day 2

Summary: Full day 2 live stream.

Keynotes


Build Opening

Build Opening

Summary: Satya Nadella opens Build with an inspiring talk about how… well… software is eating the world.


Scott Guthrie ‘Unplugged’ – Home Edition

Scott Guthrie ‘Unplugged’ – Home Edition

Summary: Scott Guthrie/Microsoft ♥ Developers and covers what Microsoft has to offer developers from cloud to tools incl. customer stories.


Future of Technology with Kevin Scott

Future of Technology with Kevin Scott

Summary: Kevin Scott, from his home workshop, gives a tour of creative labs and spaces where people are using cutting-edge technology to create Grammy award-winning music, explore the possibilities of programming for ML-powered Edge and IoT devices, inspire startups and build new applications with supercomputing-scale AI, and solve some of the biggest health-care challenges on the planet with biotechnology.


Application Development with Scott Hanselman & Friends

Application Development with Scott Hanselman & Friends

Summary: Scott Hanselman and friends in a fast paced “impromptu” keynote. Entertaining for sure. I really wish more focus and time had been spent on the below Scott Guthrie Red Shirt Web Architecture, though 😁.

Application Development With Scott Hanselman

Sessions


.NET 6 deep dive; what’s new and what’s coming

.NET 6 deep dive; what's new and what's coming

Summary: Scott Hunter and friends cover all things .NET 6 in a great talk with:

  • Introduction covering .NET scope, ecosystem, performance and adoption.
  • One .NET - .NET 6: Single SDK, one BCL, unified tool chain
  • Entity Framework Core performance, as also covered above
  • C# 10
    • Many syntactic simplifications, less boilerplate
    • record struct 👍 (and by extension also record class which is the same as just writing record)
    • Improvements to lambdas and auto-properties
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    global using System;
      
    namespace Model;
      
    public record struct Person
    {
        public required string Name
        {
            get;
            init => field = value.Trim();
        }
    }
    
  • Minimal web APIs for cloud native apps
    • Lightweight, single-file, cloud native APIs
    • Low ceremony, top-level C# programs
    • Path to MVC
    1
    2
    3
    4
    5
    
    var app = WebApplication.Create(args);
    
    app.MapGet("/", (Func<string>)(() => "Hello World!"));
    
    app.Run();
    
  • .NET Multi-platform App UI (MAUI)
    • Cross-platform, native UI
    • Single project system, single codebase
    • Deploy to multiple devices, mobile & desktop
    • Demo by David Ortinau
    • During this David demos a cool trick to set a random background color on all view elements, which can be used to quickly debug bounding boxes or similar. Dotnet Maui Random Color Trick
  • Blazor desktop apps
    • Reuse UI components across native and web
    • Built on top of .NET Multi-platform App UI
    • Native app container & embedded controls
    • For .NET 6 primary focus is rich desktop apps for Windows and Max
  • ASP .NET Core new features (see coverage of blog post above)
  • Demo of ASP .NET Core and Blazor for web development by Daniel Roth incl. demo of .NET Hot Reload. Boom! 🔥 Also .NET AOT for WASM.
  • Developer productivity improvements
    • Build time perf improvements in CLI & Visual Studio
    • Hot reload everywhere, all project types

      No more death by 1000 F5s! -Scott Hunter

      • Which should be the official .NET Hot Reload slogan 🔥
      • No process restart, maintains state
      • Optionally attach the debugger
      • Evolution of “Edit & Continue”
      • Demo by Dmitry Lyalin
  • ML.NET
    • Now supports ARM64 and Apple M1
    • Config-based training enables saved training state
    • Model builder perf improvements
    • Improved AutoML
  • Announcing .NET Conf 2021 Novemeber 9-11, 2021!

Must watch!


Increase your .NET Productivity with Visual Studio

Increase your .NET Productivity with Visual Studio

Summary: Kendra Havens and Mika Dumont give a quick talk about some great additions to Visual Studio to boost your .NET productivity. Covering such things as:

  • Extract base class refactoring
  • Source generators
  • Improvements to edit and continue
  • Standard output directly in test explorer! And monospace font 👍 Finally!
  • Code coverage for VSTest on Linux
  • Play a sound when tests finish
    (guessing this will be quite annoying in an open office 😱)

And more, also see the above coverage of Learn What’s New in .NET Productivity.


Increase Developer Velocity with Microsoft’s end-to-end developer platform

Increase Developer Velocity with Microsoft’s end-to-end developer platform

Summary: Amanda Silver (with Donovan Brown, Julie Strauss) talks about developers and Developer Velocity Index (a McKinsey concept) and how Microsoft Cloud increases it. This includes:

  • Announcement of Visual Studio 2022 going 64-bit
  • GitHub codespaces
  • DevSecOps
  • Power Platform
  • Customer stories

What’s new in Windows 10 for ALL developers

What's new in Windows 10 for ALL developers

Summary: Kayla Cinnamon, Deondre Davis, and Craig Loewen cover innovations with Terminal and WSL2, performance improvements and delighters like PowerToys and the Windows Package Manager. If you develop for web, cloud, or other platforms including Windows, this is for you.

  • WinGet (Windows Package Manager) 1.0 also shipping by default Q3
  • Windows Terminal
    • Default included in new Windows version coming
    • New settings UI
    • Fragments
  • Windows Shell
    • Virtual desktops (CTRL + WIN + LEFT/RIGHT)
      • Custom backgrounds
      • Custom title
      • Reposition
    • Performance improvements in Windows to improve Android tools
  • Power Automate Desktop - looks very cool!
  • WSL2 with GPU support
  • Blizzard Entertainment segment on their Linux servers and how there devs can use Visual Studio on Windows to debug applications on Linux via remote debug.
  • WSLg announcement and demo

That’s all! However, there is a ton more videos so please be sure to check that out. And while we are at it Rich Lander has a series of conversations about .NET.

Download Videos for Offline Viewing

dayngo.com doesn’t appear to have the event listed yet but you can try checking at:

https://dayngo.com/channel9/

2021.06.14