News

ASP.NET Core and Blazor Dominate 'Relatively Small' .NET 10 Preview 6

ASP.NET Core and Blazor received the lion's share of updates in .NET 10 Preview 6, with improvements ranging from JavaScript bundler support and server state persistence to enhanced diagnostics and minimal API validation.

Microsoft characterized this as a relatively small release, promising a larger Preview 7. So other components saw comparatively lighter changes, though.NET MAUI and Entity Framework Core got some interesting enhancements.

Blazor State Persistence
[Click on image for larger view.] Blazor State Persistence (source: Microsoft).

For a deep dive, the screenshot above was taken from a July 15 video presentation helmed by Daniel Roth, who leads Blazor development.

As far as other components, nothing new was listed for the languages, C#, F# and Visual Basic, while several other properties were said to focus on "quality improvements and build performance," including Windows Forms, Windows Presentation Foundation (WPF), EF Core and container images.

One new enhancement highlighted by Microsoft is support for Visual Studio 2022 Preview 2, released about a month ago. "Starting with .NET 10 Preview 6, we've tested and support Visual Studio 2022 Preview 2," Microsoft's Richard Lander, product manager, said in a July 14 post. "Visual Studio 2022 enables you to leverage the Visual Studio tools developed for .NET 10 such as development in .NET MAUI, Hot Reload for C# apps, new Web Live Preview for WebForms, and other performance improvements in your IDE experience. .NET 10 has also been tested with Visual Studio for Mac 8.9."

Here's a look at some changes for three components receiving a lot of attention this cycle.

ASP.NET Core and Blazor Enhancements
Two notable improvements in this release enhance the Blazor development experience. The addition of required component parameters enforces the presence of necessary inputs at compile time, helping developers catch configuration issues earlier in the workflow. Another update introduces more efficient byte array transfers for JavaScript interop, streamlining performance in Blazor WebAssembly scenarios involving large binary payloads.

Beyond those, the release includes several other updates across ASP.NET Core, SignalR, and minimal APIs:

  • Improved Blazor accessibility
  • Optional parameters for view component tag helpers
  • Angular template updated to Angular 12
  • OpenAPI support for minimal APIs
  • Inject services into minimal APIs without [FromServices] attribute
  • Configure the accept socket for Kestrel
  • IHttpActivityFeature
  • Long running activity tag for SignalR connections
  • WebSocket compression
  • SignalR WebSockets TestServer support
  • New OnCheckSlidingExpiration event for controlling cookie renewal
  • ClientCertificateMode.DelayCertificate

.NET MAUI Enhancements
.NET MAUI received targeted improvements in Preview 6, focusing primarily on UI styling, accessibility, and platform-specific controls. Work continued toward replacing Xamarin.Forms features with native .NET MAUI implementations, with expanded support for styling controls like TimePicker and layout enhancements for desktop form factors. Visual Studio integration progressed as well, though support remains limited to Visual Studio 2022 Preview 2 on Windows.

  • Added SemanticProperties.Hint to improve accessibility of controls
  • New styles for TimePicker, DatePicker, and CheckBox
  • Improved spacing and layout for menu bar items in desktop environments
  • Shell navigation now works consistently across platforms
  • Added PlatformColor API for accessing platform-native color values
  • Bug fixes related to font loading and image rendering on Android and iOS
  • Support for PointerOver visual state in desktop interactions

Entity Framework Core Enhancements
Although this component was lumped into the "quality improvements and build performance" camp, Preview 6 for EF Core 6 introduced a new feature that allows developers to configure conventions globally -- helping standardize data access patterns and reduce repetitive attribute usage. This makes it easier to enforce consistent schema rules, such as property nullability, value conversions, and field access modes across models.

  • Introduced ConfigureConventions for defining model-wide rules
  • Support for specifying default column types and precision across the model
  • Ability to apply value converters automatically to properties of a given type
  • Improved support for backing fields with PropertyAccessMode set via convention
  • Scaffolding improvements when generating DbContext and models from databases
  • General bug fixes and stability enhancements for design-time tooling

Another announcement from the .NET team includes links to the release notes for the various properties if you want to dig deeper.

About the Author

David Ramel is an editor and writer at Converge 360.

comments powered by Disqus

Featured

  • Mastering AI Development and Building AI Apps with GitHub Copilot

    Two Microsoft experts explain how GitHub Copilot is evolving from a coding assistant into a broader platform for building, customizing and testing AI-powered developer workflows.

  • VS Code 1.123 Adds Agent Session Sync, 1M Context Windows

    Microsoft released Visual Studio Code 1.123 on June 3, adding agent-focused features, larger model context support, integrated browser updates and a new delay for some automatic extension updates.

  • Copilot Billing Shock Hits Developers

    Developer complaints about GitHub Copilot's new usage-based billing model have centered on unexpectedly rapid AI credit consumption, and neither GitHub nor Microsoft has responded directly to the backlash, though they have previously published guidance to lessen model usage costs.

  • Hands On with GitHub Copilot App Technical Preview: Turning a Blazor Issue into a PR

    GitHub's brand-new Copilot desktop app, in technical preview, handled a small Blazor issue from planning through pull request creation, but the hands-on test also showed why developers still need to verify agent work in the running app before merging.

Subscribe on YouTube