News

Microsoft Releases 'Small and Short' .NET Core 3.1

Microsoft shipped .NET Core 3.1, described as a "small and short release" that focuses on two of the big features highlighting the Sept. 23 release of .NET Core 3.0: Blazor (for C# Web development instead of JavaScript) and desktop development (Windows Forms and Windows Presentation Foundation).

As the dev team has been primarily polishing up those and other existing features found in the milestone v.3.0 release, v3.1 is mostly notable for its licensing, Microsoft indicated.

"The most important feature is that .NET Core 3.1 is an long-term supported (LTS) release and will be supported for three years," said program manager Richard Lander. "As we've done in the past, we wanted to take our time before releasing the next LTS release. The extra two months (after .NET Core 3.0) allowed us to select and implement the right set of improvements over what was already a very stable base. .NET Core 3.1 is now ready to be used wherever your imagination or business need takes it."

.NET Core 3.1 is also known for Blazor, the ASP.NET Core technology that puts WebAssembly to use as a browser compilation target for higher-order programming languages so they can be used in Web development instead of JavaScript. That opens up Web development to a a whole new audience of C# jockeys who heretofore didn't want to mess with JavaScript.

Microsoft previously outlined what was new in an ASP.NET Core 3.1 preview, which includes:

  • New component tag helper: This is said to ease the use of Razor components from views and pages, which previously required rendering a component from a view or page using the RenderComponentAsync HTML helper. "The new component tag helper simplifies the syntax for rendering components from pages and views. Simply specify the type of the component you wish to render as well as the desired render mode. You can also specify component parameters using attributes prefixed with param-."
  • Prevent default actions for events in Blazor apps: "You can now prevent the default action for events in Blazor apps using the new @oneventname:preventDefault directive attribute."
  • Stop event propagation in Blazor apps: "Use the new @oneventname:stopPropagation directive attribute to stop event propagation in Blazor apps."
  • Validation of nested models in Blazor forms: This experimental feature, presented for early developer feedback rather than inclusion in .NET Core 3.1, improves on the existing built-in DataAnnotationsValidator used to validate form input using data annotations. It can only validate top-level properties of a model bound to a form. "To validate the entire object graph of the bound model, try out the new ObjectGraphDataAnnotationsValidator available in the experimental Microsoft.AspNetCore.Blazor.DataAnnotations.Validation package."
  • Detailed errors during Blazor app development: This helps developers get detailed error information in order to troubleshoot and fix issues. "Blazor apps now display a gold bar at the bottom of the screen when an error occurs. During development, in Blazor Server apps, the gold bar will direct you to the browser console where you can see the exception that has occurred."

In the Dec. 3 post about what's new in ASP.NET Core 3.1, Microsoft highlighted partial class support for Razor components. "Razor components are now generated as partial classes" Microsoft said. "Code for a Razor component can be written using a code-behind file defined as a partial class rather than defining all the code for the component in a single file. For more information, see Partial class support."

While that covers the Web/Blazor side of things, the other main point of focus, desktop development, is marked by one "unfortunate breaking change" in .NET Core 3.1 resulting from the removal of Windows Forms controls, specifically: DataGrid, ToolBar, ContextMenu, Menu, MainMenu and MenuItem. They are being replaced by newer controls that have been around for a while, but still may be in use by some developers.

"You will see build breaks if you are using the controls we removed in your applications," Microsoft said. "Also, if you open .NET Core 3.0 applications in the latest versions of the .NET Core Windows Forms designer, you will see errors if you are using these controls. We recommend you update your applications to .NET Core 3.1 and move to the alternative controls. Replacing the controls is a straight-forward process, essentially 'find and replace.'"

About the Author

David Ramel is an editor and writer at Converge 360.

comments powered by Disqus

Featured

  • .NET 11 Preview 5 Focuses on Performance, Productivity and Safer Code

    .NET 11 Preview 5 focuses on under-the-hood runtime performance gains, streamlined APIs and language features that reduce boilerplate, plus built‑in security checks and incremental ASP.NET Core and EF Core improvements aimed at everyday developer productivity.

  • VS Code 1.124 Focuses on Agent Autonomy and Parallel Sessions

    Microsoft's June 2026 VS Code update turns on Autopilot by default and adds background sending for agent sessions.

  • Developing Agentic Systems in .NET: From Concept to Code

    ZioNet founder Alon Fliess previews his Visual Studio Live! San Diego session on building true agentic systems in .NET -- covering the cognitive loop, MCP tool integration, multi-agent orchestration and enterprise hosting and governance with the Microsoft Agent Framework.

  • 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.

Subscribe on YouTube