What Changed
The DevExpress.Drawing
assembly is now required for DevExpress products and components. This library contains cross-platform counterparts of the System.Drawing
classes (Image, Bitmap, Font, Pen, Brush, and so on).
Reasons for Change
Microsoft marked the System.Drawing.Common library as Windows-specific in .NET 6 and higher. Review the following breaking change (BC) for more information: System.Drawing.Common only supported on Windows.
To maintain the functionality of our products within all supported non-Windows environments (Linux and macOS, Azure App Service, and Docker containers), we created a separate DevExpress.Drawing
assembly that contains cross-platform counterparts of the System.Drawing
classes affected by the above-mentioned BC (see the Affected APIs list for details). We already use this new API in our internal code. In the second half of 2022, we plan to revise our public API members and implement their cross-platform counterparts for use on non-Windows platforms. The new API will utilize the DevExpress.Drawing
objects instead of the System.Drawing
classes. If your app targets Windows, you can continue using the System.Drawing
library.
With v22.2, we also expect to release another assembly that will contain our custom cross-platform rendering engine based on the SkiaSharp library.
How to Update Existing Apps
Add a reference to DevExpress.Drawing.dll
to your application and include this assembly in your redistribution package. You can use our Project Converter tool to update the DevExpress NuGet package versions within your app or add necessary assembly references to your project.
See Also
DevExpress Cross-Platform Products — Getting Ready for .NET 7