Skip to main content

.NET / .NET Core Support and Migration from .NET Framework

  • 7 minutes to read

.NET is an open-source development platform with high-performance runtime. It is maintained by Microsoft and the .NET community on GitHub.

Prerequisites

The table below shows the versions of DevExpress WinForms Controls that support .NET.

DevExpress Version .NET 6 (LTS) .NET 7 .NET 8 (LTS) .NET 9 (Preview)
v24.2 (current) no no yes yes
v24.1 yes yes yes yes
v23.1 - v23.2 yes yes yes no
v22.2 - v22.2 yes yes no no
v21.2 - v22.1 yes no no no
v20.1 - v21.1 no no no no

Prerequisites to build .NET applications:

Tip

Are you currently using .NET Framework and ready to transition to .NET 6+ or move your solutions to the Cloud?

We recognize that migrating/rewriting legacy applications can be a significant undertaking. If you are ready to transition to newer versions of .NET or move your solution to the cloud, be sure to review the following highly rated help topics:

FAQ

Can WinForms .NET applications run on macOS and Linux?

No, WinForms .NET applications cannot run on macOS and Linux. WinForms .NET applications are designed to run on Windows because they rely on Windows-specific APIs. Specifically, .NET supports WinForms only on Windows, with packages like Microsoft WinForms or DevExpress WinForms being restricted to the netX.0-windows target.

When you target netX.0-windows, the project will be built with access to Windows-specific libraries such as System.Windows.Forms, which rely on Win32 API or Platform Invoke (P/Invoke). Microsoft essentially restricts WinForms applications to run only on Windows (not on macOS and Linux).

I want to maintain WinForms/WPF apps and create companion apps for non-Windows platforms (Web, Mobile, macOS/Linux). What features are available in the DevExpress ecosystem and how can I reuse my code?

DevExpress offers a variety of feature-rich visual UI controls and non-visual components/libraries for developing desktop, web, and mobile apps including APIs/services (based on modern versions of .NET and JavaScript).

UI Controls for Building Traditional Line-of-Business, CRUD, Office-Inspired Apps

If cross-platform compatibility is a requirement, you can choose a framework that supports multiple operating systems from the ground up. With DevExpress UI libraries, you can build web, hybrid, or cross-platform software with or without JavaScript, ASP.NET Core, or Blazor. You can also use tools like Electron or BlazorWebView/HybridWebView from .NET MAUI to pack your web applications inside a native container application. You can also build native mobile apps using .NET MAUI framework.

DevExpress UI libraries include:

Expand the following sections for information on popular scenarios and software requirements:

Generate and Manage Office Files (Word, Excel, PDF)

The DevExpress cross-platform Office File API allows you to create, load, edit, convert, sign, and print rich text documents, Excel spreadsheets/workbooks, and PDF files across all platforms and operating systems that support recent .NET versions:

  • Windows, Linux, macOS
  • Non-Windows environments (Azure, AWS, Docker, etc.)

You can integrate the DevExpress Office File API library in the following application types:

  • Desktop (WinForms, WPF)
  • Web (ASP.NET Core MVC, Razor Pages, Blazor Server/WebAssembly, Blazor Hybrid, Web API)
  • Mobile (.NET MAUI)
  • Console and API service applications
  • Cross-platform .NET UI frameworks (for example, Avalonia)

Read the following help topics for additional information:

Design Reports, Export Documents, and Download PDF

DevExpress Reports is our feature-complete reporting platform and component library for the .NET ecosystem that targets Web, Mobile, and Desktop platforms. You can incorporate a Report Viewer or End-User Report Designer directly within your application, generate PDF files from predefined templates, export reports to a variety of file formats. With DevExpress Reports, you can address requirements across multiple operating systems and hosting environments (Windows, Linux or macOS, Azure or AWS).

Read the following help topics for additional information:

Code Sharing, Data Access Security, and Reusable API Services

The amount of code you can reuse from existing applications depends on the architecture of your application. However, upgrading to modern versions of .NET and refactoring your code can greatly increase the likelihood of code reuse so that different UI clients can use the same business logic or API services.

You can share your existing database, data model, business logic, authentication/authorization settings, and cross-platform C# code between multiple UI clients (desktop, web, mobile) that target different platforms. API services are a natural choice or solution for security (UI clients cannot access database connection information or directly read/modify database tables), usability, and maintenance. For example, if your WinForms application utilizes Entity Framework Core or XPO ORM, you can build a data service that can be used by your DevExpress WinForms, Blazor, JavaScript, or mobile applications that target .NET.

Read the following help topics and blog posts for additional information:

Watch Video: Integrate the DevExpress Blazor Components into WinForms with Blazor Hybrid

Is there design-time support for WinForms projects in JetBrains Rider and VS Code?

Design-time support for DevExpress-powered WinForms projects is limited when using JetBrains Rider and Visual Studio Code. JetBrains Rider and VS Code do not have built-in design-time support for WinForms projects. This means you won’t have access to the visual designer that you would typically use in Visual Studio. You can edit WinForms projects and use DevExpress controls, but you’ll need to manually edit designer files (.Designer.cs) or the main form code.

How to convert/migrate a WinForms application for .NET Framework to .NET?

Please read the following topic for guidance: Migrate DevExpress-Powered .NET Framework Apps to the Latest .NET Version.

How to deploy a WinForms .NET application?

Please read the following topic for guidance: Deploy .NET Applications.

  • The Properties panel in DevExpress Designers does not display events.
  • The Layout Assistant Extension and Design-Time Layout Templates are not available.
  • The dropdown with existing data sources is not available for Repository Items in the Grid Control’s Designer. Use the Properties window to bind a repository item to a data source.
  • It is not possible to drag-drop BarItems from the Customization Form to bars. Use the Bar Manager Designer to customize toolbars.
  • It is not possible to use the ReportGenerator in the .NET designer.
  • The Document Viewer‘s smart tag in Visual Studio Designer does not display reports in the Document Source drop-down menu. You should specify the DocumentSource property in code.
See Also