News

Microsoft Ships .NET Core 2.2 and Previews .NET Core 3.0

Amid the hubbub caused by Microsoft open sourcing WPF, WinForms and other desktop tech, the company also shipped the final version of .NET Core 2.2 and unveiled the first preview of .NET Core 3.0.

.NET Core is Microsoft's modernization of the aging, Windows-only .NET Framework, using a modular approach to take components open source and cross-platform. Those components include ASP.NET Core and Entity Framework Core, which have also shipped in their v2.2 editions.

Microsoft said the .NET Core 2.2 update features diagnostic improvements to the runtime, support for ARM32 for Windows and Azure Active Directory for SQL Client, while noting that "The biggest improvements in this release are in ASP.NET Core."

That Web-dev-oriented offering features a host of improvements, ranging from better Open API (Swagger) library integration to various performance enhancements.

"The main theme for this ASP.NET Core release was to improve developer productivity and platform functionality with regard to building Web/HTTP APIs," said Microsoft's Damian Edwards in a blog post. "As usual, we made some performance improvements as well."

Desktop on .NET Core 3
[Click on image for larger view.] Desktop on .NET Core 3 (from May announcement) (source: Microsoft).

Meanwhile, Entity Framework Core 2.2, providing object-database mapping functionality, sees hundreds of bug fixes, in addition to new features. Microsoft's Diego B Vega detailed new functionality such as:

  • Spatial data support: This is used to represent the physical location and shape of objects).
  • Collections of owned entities: This introduces one-to-many associations for model ownership, along with the existing one-to-one associations.
  • Query tags: These simplify the correlation of LINQ queries in code with generated SQL queries captured in logs.

For .NET Core 2.2 proper, developers can go here to learn about:

  • Tiered compilation: This is a feature that lets the runtime more adaptively use the Just-In-Time (JIT) compiler to get better performance during both startup and throughput.
  • Injecting code prior to Main: .NET Core now lets developers inject code prior to running the Main() method via a Startup Hook. "Startup hooks make it possible for a host to customize the behavior of applications after they have been deployed, without needing to recompile or change the application."
  • Windows ARM32: The team will add support for Windows ARM32, just like the Linux ARM32 support that shipped in .NET Core 2.1. "Windows has had support for ARM32 with Windows IoT Core for some time," Microsoft said. "As part of the Windows Server 2019 release, ARM32 support was also added for Nanoserver. .NET Core can be used on both Nanoserver and IoT Core." However, problems were encountered that prevented the publishing of .NET Core builds for WindowsARM32 in this update, and it's now planned for .NET Core 2.2.1, shipping early next year.

Finally, .NET Core 3.0 Preview 1 sees new functionality to create desktop apps with technologies like WPF and Windows Forms. Support for those Windows-only frameworks is being added to the previous capabilities for Web APIs, Internet of Things (IoT) projects and console applications.

".NET Core 3 is a major update which adds support for building Windows desktop applications using Windows Presentation Foundation (WPF), Windows Forms, and Entity Framework 6 (EF6)," Microsoft's Rich Landers said in a blog post. "ASP.NET Core 3 enables client-side development with Razor Components. EF Core 3 will have support for Azure Cosmos DB. It will also include support for C# 8 and .NET Standard 2.1 and much more!"

That will need to be done with Visual Studio 2019, however, as VS 2017 can't be used for .NET Core 3.0 projects. Luckily, the company just this week also shipped Visual Studio 2019 Preview 1.

.NET Core 3 Preview 1 introduces a host of new features and functionality, including applications being built with executable (.exe) files by default; a local dotnet tools scenario to add to the global tools scenario introduced in .NET Core 2.1; ranges and indices; an in-box JSON Reader, Async streams; cryptography enhancements and much more.

Lander pointed to release notes for more information, but there didn't seem to be any release notes available there, which several developers complained about.

More information is coming, though, said Lander: "We'll be releasing more detailed posts on .NET Core 3 in the coming weeks, which will also include an update on .NET Standard 2.1, which didn't make it into Preview 1 yet."

Lander emphasized that developers using the traditional .NET Framework shouldn't feel pressured to port existing applications to .NET Core. However, the company has advised developers that .NET Core will see many more new features introduced than the Windows-only .NET Framework will, and recommends all new projects start on the newer platform if possible.

.NET Core development takes place in the open on GitHub.

About the Author

David Ramel is an editor and writer at Converge 360.

comments powered by Disqus

Featured

  • Mastering Blazor Authentication and Authorization

    At the Visual Studio Live! @ Microsoft HQ developer conference set for August, Rockford Lhotka will explain the ins and outs of authentication across Blazor Server, WebAssembly, and .NET MAUI Hybrid apps, and show how to use identity and claims to customize application behavior through fine-grained authorization.

  • Linear Support Vector Regression from Scratch Using C# with Evolutionary Training

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the linear support vector regression (linear SVR) technique, where the goal is to predict a single numeric value. A linear SVR model uses an unusual error/loss function and cannot be trained using standard simple techniques, and so evolutionary optimization training is used.

  • Low-Code Report Says AI Will Enhance, Not Replace DIY Dev Tools

    Along with replacing software developers and possibly killing humanity, advanced AI is seen by many as a death knell for the do-it-yourself, low-code/no-code tooling industry, but a new report belies that notion.

  • Vibe Coding with Latest Visual Studio Preview

    Microsoft's latest Visual Studio preview facilitates "vibe coding," where developers mainly use GitHub Copilot AI to do all the programming in accordance with spoken or typed instructions.

  • Steve Sanderson Previews AI App Dev: Small Models, Agents and a Blazor Voice Assistant

    Blazor creator Steve Sanderson presented a keynote at the recent NDC London 2025 conference where he previewed the future of .NET application development with smaller AI models and autonomous agents, along with showcasing a new Blazor voice assistant project demonstrating cutting-edge functionality.

Subscribe on YouTube