.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) | ||||
v24.1 | ||||
v23.1 - v23.2 | ||||
v22.2 - v22.2 | ||||
v21.2 - v22.1 | ||||
v20.1 - v21.1 |
Prerequisites to build .NET applications:
- Download .NET
- Visual Studio 2022 v17.0+ (.NET 8 design-time and runtime support)
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:
- Migrate DevExpress-Powered .NET Framework Apps to the Latest .NET Version
- .NET Upgrade Assistant Tool
- Start your cloud journey with Azure App Service
- ASP.NET to ASP.NET Core tutorial playlist on YouTube
Reliable Web App pattern (RWA) on GitHub
(a guidance for building around existing apps without the need for a complete rewrite)
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:
- UI Controls for ASP.NET Core (MVC, Razor Pages)
- UI Controls for Blazor (Server, WebAssembly, Hybrid)
- UI Controls for JS / TS (Angular, React, Vue, jQuery)
- UI Components for .NET MAUI (Android, iOS)
- Business Intelligence Dashboard (ASP.NET Core, Blazor, Angular, React, and Vue)
- XAF (Cross-Platform .NET App UI for Blazor & WinForms)
Expand the following sections for information on popular scenarios and software requirements:
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:
- Integrate Excel Spreadsheet API into Blazor Server App
- Integrate Word Document API into Blazor Server App
- Integrate Office File API into .NET MAUI App (macOS, iOS, Android)
- ASP.NET Core Backend Web/REST API for Office File API with Access Control Rights)
- Azure App Service Container (Linux) for Office File API App
- Amazon ECS (Linux Container) Using AWS Fargate for Office File API App
- Dockerize an Office File API Application
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:
- Reporting for ASP.NET Core
- Embedded JS Reports (Angular, React, Vue, jQuery)
- Reporting for Blazor
- Integrate DevExpress Blazor Report Viewer into .NET MAUI Blazor Hybrid App
- Integrate Reporting Tools into .NET MAUI Apps (macOS, iOS, Android)
- ASP.NET Core Backend Web/REST API for Reporting with Access Control Rights
- DevExpress Reporting for Avalonia
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:
- Share Code Between Desktop (WinForms/WPF) and Mobile (.NET MAUI) Projects
- DevExpress WinForms MVVM (for sharing UI logic with .NET MAUI/WPF Apps)
- Integrate the DevExtreme JavaScript HTML Editor into a WinForms Application
- Modern Desktop Apps And Their Complex Architectures
- DevExpress Backend Web API Service & Role-based Access Control / Permission Management
- WinForms — Connect a .NET Desktop Client to a Secure Backend Web API Service (EF Core with OData)
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.
Important Notes Related to Design-Time Customization
- 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.