.NET Core 3.0 Support for ASP.NET Core, WinForms, and WPF Controls

ctodx
19 September 2019

.NET Core 3.0 is launching at .NET Conf, and this is important news for every .NET developer. What benefits does .NET Core 3.0 provide compared to .NET Core 2.x or .NET Framework? Should you wait or start upgrading right away? Are DevExpress controls ready to be used in the .NET Core 3 environment? Let's find out.

Advantages of .NET Core 3.0

.NET Core 3.0 introduces many improvements to ASP.NET Core projects - support for gRPC, new features for SignalR (such as streaming), performance optimizations, ReadyToRun images, assembly linking, and more.

For the first time, version 3.0 also expands .NET Core to desktop technologies - WinForms and WPF. Even though some parts of WinForms and WPF for .NET Core are fresh and still under active development (such as the WinForms designer), there are enough things for desktop developers to look forward to. Self-contained deployment allows you to publish your app with a specific .NET runtime build and not worry about version conflicts and breaking changes. ReadyToRun images generated in advance on a build server can improve the application startup performance without the hassle with the Ngen.exe tool. And the inclusion of WinForms and WPF to .NET Core gives our developers hope for more enhancements for these platforms in the future.

Finally, Microsoft clearly states that .NET Core is the future of the .NET family. .NET 5 announced back in May and scheduled for November 2020 is going to build on the work done in .NET Core 3 to create a unified platform for all .NET development.

At this point, it is safe to say that any significant enhancements and new features that Microsoft plans to introduce to .NET will be exclusive to .NET Core and will not make it into .NET Framework.

Useful links:
What's new in .NET Core 3.0

ASP.NET Core Controls

Our ASP.NET Core controls support .NET Core 3.0 without limitations and are production-ready starting with v19.1.6. The only exception is the Diagram control that is currently in CTP and works as a jQuery component. We plan to release it as a native ASP.NET Core 3.0 component in v19.2.

The DevExtreme ASP.NET Data library responsible for the data binding functionality is also fully compatible with Entity Framework Core 3 released together with .NET Core.

We made sure that the Visual Studio tool that adds DevExtreme to existing projects can work with projects targeting ASP.NET Core 3.0. In the future, we also plan to add new project templates specifically made for ASP.NET Core 3.0.

Where to get:
DevExpress .NET Products Installer v19.1.6+
npm and NuGet packages

Useful links:
DevExtreme-Based ASP.NET Controls support ASP.NET Core 3 Preview
Add DevExtreme to an Existing Project

WPF Controls

Our WPF components for .NET Core 3.0 are officially releasing this September. They've been extensively tested and are ready for production. We encourage you to try migrating your real-life projects to see if they are compatible.

The WPF component suite for .NET Core 3.0 includes all products available for .NET Framework with the following exceptions:

  • Theme Designer
  • Scaffolding Wizards
  • ApplicationJumpListService

Data-bound WPF controls also support the Entity Framework Core 3 released together with .NET Core. In v19.1, you can configure the CriteriaToEFExpressionConverter class to use the Server Mode and Instant Feedback sources with EF Core 3. Starting with v19.2, no configuration is needed - the Entity Framework version will be resolved automatically.

In terms of the Visual Studio integration, .NET Core 3.0 introduces significant changes. The WPF designer now uses a new Surface Isolation architecture that prevents third-party extensions from directly accessing elements in the designer area. As a result, most of DevExpress WPF designer features such as Smart Tags and wizards are not there for .NET Core 3. We are working together with with Microsoft on this and rewriting designer features for the new architecture. Some basic features such as the Toolbox and switching tabs in TabControl are already working, and there is a chance that other extensions will make a return in the future.

Where to get:
DevExpress .NET Core Desktop Products Installer
DevExpress NuGet feed

Useful links:
.NET Core Support | WPF Documentation
Creating a New .NET Core 3.0 Application
Migrate WPF Applications to .NET Core 3

WinForms Controls

The entire WinForms product line supports .NET Core 3. However, since the new WinForms designer is not yet available, it is only possible to work with UI controls in code or use the workaround with linked files. Our components remain in the CTP stage, and you are welcome to try them in our demos or your own projects.

Where to get:
DevExpress .NET Core Desktop Products Installer
DevExpress NuGet feed

Useful links:
.NET Core Support | WinForms Documentation
How to: Port a Windows Forms desktop app to .NET Core
WinForms - Single-File Applications With .NET Core 3

Reporting

You can run applications with DevExpress Reporting targeting .NET Core 3.0 on all platforms – WinForms, WPF, and ASP.NET Core. ASP.NET Core 3.0 reports maintain the feature parity with previous .NET Core versions and use the same report designer approach as before. A Visual Studio extension associated with XML report definition files launches the Report Designer window and saves your edits back to XML.

Visual Studio's integrated report designer in desktop platforms (WinForms and WPF) is based on the standard WinForms designer. Since the new WinForms designer for .NET Core is not yet available, the best way to design your reports is to use the workaround with linked *.cs and *.Designer.cs files. Because of this limitation, WinForms and WPF reports for .NET Core 3.0 remain in the CTP stage.

Where to get:
DevExpress .NET Products Installer v19.1.6+ (ASP.NET Core Reports)
DevExpress .NET Core Desktop Products Installer (WinForms and WPF Reports)
DevExpress NuGet feed

Useful links:
Reporting in .NET Core 3 (CTP) | Documentation

Dashboard

ASP.NET Core Dashboard will support .NET Core 3.0 starting with v19.1.7. The new EndpointRouteBuilderExtension class is going to provide extension methods for endpoint routing enabled by default in version 3.0.

WinForms and WPF Dashboards can run on .NET Core 3.0 without issues but lack the integrated Visual Studio designer due to changes in the designer architecture for .NET Core. You can still load XML dashboard files and edit them at runtime using the WinForms Dashboard Designer. The WinForms Dashboard Viewer & Designer for .NET Core follow other WinForms controls and remain in the CTP stage. The WPF Dashboard Viewer for .NET Core releases together with other WPF controls and can display dashboard files created in any WinForms or Web Dashboard Designer.

Where to get:
DevExpress .NET Products Installer v19.1.6+ (ASP.NET Core Dashboard)
DevExpress .NET Core Desktop Products Installer (WinForms and WPF Dashboard)
DevExpress NuGet feed

Useful links:
ASP.NET Core Dashboard | Add Route Definition

Office File API

The Office File API library fully supports .NET Core 3.0 and is ready to be used in production.

Where to get:
DevExpress .NET Products Installer (ASP.NET Core and cross-platform projects)
DevExpress .NET Core Desktop Products Installer (WinForms and WPF projects)
DevExpress NuGet feed

XAF

You can build and run desktop XAF applications on .NET Core 3.0. All desktop modules except for obsolete ones and those relying on deprecated functionality (such as the Windows Workflow Foundation) are already supported. Following WinForms controls on which it relies, XAF for .NET Core remains in the CTP stage.

XAF's .NET Core 3.0 support currently don't span mobile and web apps. Back in August, we made a decision to cancel XAF's React-based SPA UI project to pursue Blazor UI. In v19.2, we will release .NET Standard 2.0 Nuget packages that you can use implement XAF features like the Security System in non-XAF web and mobile apps (see How to: Use the Integrated Mode of the Security System in Non-XAF Applications). After this, you can expect more updates from us regarding XAF and Blazor in 2020.

Where to get:
DevExpress .NET Core Desktop Products Installer DevExpress NuGet feed

Useful links:
.NET Core 3.0 and .NET Standard 2.0 Support
XAF - Important Changes to the SPA UI Strategy: The Future is Blazor

XPO

The XPO library supports .NET Core 3.0 and is ready to be used in production on all platforms - WinForms, WPF, and ASP.NET Core. The XPO build for WinForms and WPF comes with the .NET Core Desktop Products Installer where the ORM Data Model Designer is unavailable. To use XPO's design-time features, additionally run the main .NET Products Installer.

Where to get:
DevExpress .NET Products Installer, DevExpress.Xpo on NuGet (ASP.NET Core and cross-platform projects)
DevExpress .NET Core Desktop Products Installer (WinForms and WPF projects)
DevExpress NuGet feed

Useful links:
Getting Started with .NET Core
XPO - .NET Core 3.0 Desktop SDK Support for WinForms and WPF Apps

Blazor Controls

Blazor is an exciting new technology for .NET developers looking to build interactive web UIs using C# instead of JavaScript. Server-side Blazor that runs on the server via SignalR is releasing with .NET Core 3.0. Client-side Blazor that uses the WebAssembly standard will be released some time later as a part of .NET.Core but is no longer considered experimental. To support those already trying to create Blazor apps, we provide a set of UI components (Data Grid, Pivot Grid, Scheduler, Charts, data editors, and all-purpose layout controls) for both server-side and client-side Blazor platforms.

Where to get:
DevExpress UI for Blazor - GitHub (free download)

Useful links:
Introduction to Blazor
Create a New Blazor Application Demos: Blazor UI Components

no comments
No Comments

Please login or register to post comments.