.NET Core Support

  • 3 minutes to read

.NET Core is an open-source, general-purpose development platform maintained by Microsoft and the .NET community on GitHub.

Prerequisites

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) .NET 5.0 (Preview)
v20.1(current) yes yes yes
v19.2.5+ yes yes no
v19.1-v19.2.4 yes no no

Prerequisites to build .NET Core applications:

Create .NET Core Applications

  1. Create a new Windows Forms App (.NET Core) project.
  2. Obtain your NuGet Feed URL.
  3. Setup Visual Studio's NuGet Package Manager.
  4. Check the "Include Prerelease" option and install the DevExpress.WindowsDesktop.Win NuGet package.
  5. 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

Self-Contained Deployment

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.

Single-File Applications

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.

Limitations

  • 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.

Additional Information

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.Editors
  • 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.