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.
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).
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 😅
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:
- Inheritance margin
- Remove Unused References
- Add missing using directives on paste
- Tab twice to insert arguments (experimental)
- Simplify LINQ expressions
- Remove unnecessary discard
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:
- The new DateOnly and TimeOnly types
- Time Zone Conversion APIs
- Time Zone Display Names on Linux and macOS
- TimeZoneInfo.AdjustmentRule Improvements
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
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
Summary: Satya Nadella opens Build with an inspiring talk about how… well… software is eating the world.
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
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
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 😁.
Sessions
.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 alsorecord class
which is the same as just writingrecord
)- NOTE: As mentioned I cover the
record struct
in detail in a separate blog post C# 10 -record struct
Deep Dive & Performance Implications.
- NOTE: As mentioned I cover the
- 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(); } }
- Mads Tørgersen & Dustin Campbell cover this and more in a small segment in the video.
- 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();
- Demo by Maria Naggaga and Stephen Halter.
- .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.
- 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
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
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
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
- Virtual desktops (
- 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: