News

Second Previews Ship for .NET Core 3, ASP.NET Core 3

Microsoft released the second preview of .NET Core 3, building upon the first beta that introduced support for Windows Forms and Windows Presentation Foundation (WPF) desktop projects. ASP.NET Core 3 Preview 2 also shipped for Web development (including with C# via Razor Components introduced in the Blazor effort).

The desktop support was big news for the Core initiative that takes the ageing Windows-only .NET Framework to the new world of cross-platform functionality and open source components in a modular approach.

Microsoft's Rich Landers summarized the whole state of the various components in the company's new direction at the time: ".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). 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!"

Work on all those fronts was continued in the second previews of .NET Core 3 and its cousins, though some developer-requested functionality still lags behind, such as desktop designers running on the new framework.

That work was foreshadowed last month when, in announcing Preview 1, Landers said: "In the upcoming months, we’re focusing on completing the open sourcing of WPF and Windows Forms, enabling the Visual Studio designers to work with .NET Core, and adding support for APIs that are typically used in Windows Desktop apps."

Several developers have inquired about that designer support. For example, when Microsoft last week shipped Visual Studio 2019 Preview 2, a reader asked about "progress on the editor support for the XAML Graphical User Interface editors for WPF, UWP on .NET Core."

The new announcement post included an update: "Desktop development on .NET Core 3 requires Visual Studio 2019. We added the WPF and Windows Forms templates to the New Project Dialog to make it easier starting your new applications without using the command line.

"The WPF and Windows Forms designer teams are continuing to work on an updated designer for .NET Core, which will be part of a Visual Studio 2019 Update."

Many other new features were introduced, however, touching upon all aspects of the Core initiative. In addition to ASP.NET Core 3.0 Preview 2, EF Core 3.0 Preview 2 and C# 8 Preview 2, those include:

  • .NET Platform Dependent Intrinsics
  • JSON Writer and JSON Document
  • Local dotnet tool improvements
  • Assembly Unloadability
  • Windows native interop
  • Work continues on WinForms and WPF
  • API changes for Preview 2
New Razor Components Template in Visual Studio 2019
[Click on image for larger view.] New Razor Components Template in Visual Studio 2019 (source: Microsoft)

In the ASP.NET Core 3 Preview 2, work continues on the Razor Components project that bakes server-side Blazor components into the framework for Web projects using C# instead of only JavaScript.

"Razor Components are a new way to build interactive client-side web UI with ASP.NET Core," said ASP.NET Core guru Daniel Roth in a blog post yesterday (Jan. 29). "This release of .NET Core 3.0 Preview 2 adds support for Razor Components to ASP.NET Core and for hosting Razor Components on the server. For those of you who have been following along with the experimental Blazor project, Razor Components represent the integration of the Blazor component model into ASP.NET Core along with the server-side Blazor hosting model. ASP.NET Core Razor Components is a new capability in ASP.NET Core to host Razor Components on the server over a real-time connection."

Along with that effort, the ASP.NET Core 3 Preview 2 "what's new" list includes:

  • SignalR client-to-server streaming
  • Pipes on HttpContext
  • Generic host in templates
  • Endpoint routing updates

Roth said he sees "a bright future for Blazor," which, though it's still an experimental project relying on experimental WebAssembly technology, has generated tremendous interest in the .NET coding community with its promise of coding Web projects in higher-level languages such as C# and F#.

"In parallel with the ASP.NET Core 3.0 work, we will continue ship updated experimental releases of Blazor to support hosting Razor Components client-side in the browser (we'll have more to share on the latest Blazor update shortly!)," Roth said. "While in ASP.NET Core 3.0 we will only support hosting Razor Components in ASP.NET Core, we are also working towards shipping Blazor and support for running Razor Components in the browser on WebAssembly in a future release."

About the Author

David Ramel is an editor and writer at Converge 360.

comments powered by Disqus

Featured

  • Compare New GitHub Copilot Free Plan for Visual Studio/VS Code to Paid Plans

    The free plan restricts the number of completions, chat requests and access to AI models, being suitable for occasional users and small projects.

  • Diving Deep into .NET MAUI

    Ever since someone figured out that fiddling bits results in source code, developers have sought one codebase for all types of apps on all platforms, with Microsoft's latest attempt to further that effort being .NET MAUI.

  • Copilot AI Boosts Abound in New VS Code v1.96

    Microsoft improved on its new "Copilot Edit" functionality in the latest release of Visual Studio Code, v1.96, its open-source based code editor that has become the most popular in the world according to many surveys.

  • AdaBoost Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the AdaBoost.R2 algorithm for regression problems (where the goal is to predict a single numeric value). The implementation follows the original source research paper closely, so you can use it as a guide for customization for specific scenarios.

  • Versioning and Documenting ASP.NET Core Services

    Building an API with ASP.NET Core is only half the job. If your API is going to live more than one release cycle, you're going to need to version it. If you have other people building clients for it, you're going to need to document it.

Subscribe on YouTube