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

  • Hands On: New VS Code Insiders Build Creates Web Page from Image in Seconds

    New Vision support with GitHub Copilot in the latest Visual Studio Code Insiders build takes a user-supplied mockup image and creates a web page from it in seconds, handling all the HTML and CSS.

  • Naive Bayes Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the naive Bayes regression technique, where the goal is to predict a single numeric value. Compared to other machine learning regression techniques, naive Bayes regression is usually less accurate, but is simple, easy to implement and customize, works on both large and small datasets, is highly interpretable, and doesn't require tuning any hyperparameters.

  • VS Code Copilot Previews New GPT-4o AI Code Completion Model

    The 4o upgrade includes additional training on more than 275,000 high-quality public repositories in over 30 popular programming languages, said Microsoft-owned GitHub, which created the original "AI pair programmer" years ago.

  • Microsoft's Rust Embrace Continues with Azure SDK Beta

    "Rust's strong type system and ownership model help prevent common programming errors such as null pointer dereferencing and buffer overflows, leading to more secure and stable code."

  • Xcode IDE from Microsoft Archrival Apple Gets Copilot AI

    Just after expanding the reach of its Copilot AI coding assistant to the open-source Eclipse IDE, Microsoft showcased how it's going even further, providing details about a preview version for the Xcode IDE from archrival Apple.

Subscribe on YouTube

Upcoming Training Events