.NET Core Support
- 3 minutes to read
The table below shows the versions of DevExpress WinForms Controls that support .NET Core.
|DevExpress Version||.NET Core 3.0||.NET Core 3.1 (LTS)|
|v19.2.5 - v19.2.13 (current)|
Prerequisites to build .NET Core applications:
- .NET Core
- Visual Studio 2019 v16.4+ (includes support for .NET Core 3.1)
- Visual Studio 2019 v16.3 (includes support for .NET Core 3.0)
Create .NET Core Applications
- Create a new Windows Forms App (.NET Core) project.
- Obtain your NuGet Feed URL.
- Setup Visual Studio’s NuGet Package Manager.
- Check the “Include Prerelease” option and install the DevExpress.WindowsDesktop.Win NuGet package.
- Build the project.
Upgrade .NET Framework Applications
Currently, there is no way to port .NET Framework apps to .NET Core in Visual Studio. You need to copy project folders and replace .csproj files. See the How to port desktop applications to .NET Core 3.0 article by Microsoft for more information.
Deploy .NET Core Applications
Your applications can be deployed in two different ways:
Framework-dependent deployment - the application does not include .NET Core. The application may not work on a client machine if the correct .NET Core version is not installed.
Self-contained deployment - .NET Core is a part of the application package. The disadvantages of this approach are that you must select target platforms in advance, and distrubute larger deployment packages.
You can deploy self-contained applications in Visual Studio or call the following command in the command-line interface:
dotnet publish -c Release -r win10-x64 --self-contained true
See the .NET Core application deployment article for more information.
You can publish .NET Core applications as one executable file. To do this, run the command prompt, navigate to the application folder, and call the following command:
dotnet publish -r win10-x64 -c Release -p:PublishSingleFile=true
See the “Single-File Applications With .NET Core 3” blog post for more information.
- Global .NET Core 3 platform limitations, not specific for DevExpress controls.
- Visual Studio Toolbox integration and design time features (smart tags, collection editors and other designer dialogs, Scaffolding Wizard, etc.) are not supported.
Q: Will DevExpress WinForms .NET Core 3 controls support Linux and\or MacOS?
A: Any WinForms control relies on WinAPI that is not available in other operating systems. According to Microsoft Contributing Guide, support for cross-platform implementations for Windows Forms or WPF is not planned.
Q: I’ve updated my DevExpress installation from version 19.2.2 (CTP) to a newer version, and cannot find .NET Core 3 templates in the Template Gallery.
A: Starting with version 19.2.3, .NET Core and .NET Framework product lines are split in two separate installations:
- DevExpress Component Installer (includes components and libraries for .NET Framework)
- NET Core Desktop Product Installer (includes WinForms (CTP) and WPF components, libraries built against .NET Core, and .NET Core templates)
Q: How to find a NuGet package that replaces a required DevExpress .NET Framework assembly?
A: We ship NuGet packages that contain individual .NET Core assemblies. In addition, there are bigger NuGet packages that contain two or more smaller packages. For instance, to use the functionality provided by the “Editors” library, you can install one of the following packages:
- DevExpress.WindowsDesktop.Win.Navigation - Combines the DevExpress.WindowsDesktop.Win.Editors, DevExpress.WindowsDesktop.Win.Bars and other navigation UI-aware packages.
- DevExpress.WindowsDesktop.Win - Combines all WinForms packages, including the DevExpress.WindowsDesktop.Win.Navigation package.
Use the DevExpress NuGet Gallery page search to find the required packages.