Skip to content

[Breaking change]: System.Drawing.Common support for non-Windows has been removed #33653

@ericstj

Description

@ericstj

Description

As covered in
https://github.com/dotnet/designs/blob/main/accepted/2021/system-drawing-win-only/system-drawing-win-only.md
and https://learn.microsoft.com/en-us/dotnet/core/compatibility/core-libraries/6.0/system-drawing-common-windows-only
System.Drawing.Common is now only supported on Windows.

As mentioned in the same document, the runtimeconfiguration switch to re-enable System.Drawing.Common was removed completely in .NET 7. This document represents that change in .NET 7.

Version

.NET 7

Previous behavior

The System.Drawing.Common library would allow applications to set the System.Drawing.EnableUnixSupport runtime configuration setting to re-enable non-windows support.

New behavior

This functionality has been removed and

Type of breaking change

  • Binary incompatible: Existing binaries may encounter a breaking change in behavior, such as failure to load or execute, and if so, require recompilation.
  • Source incompatible: When recompiled using the new SDK or component or to target the new runtime, existing source code may require source changes to compile successfully.
  • Behavioral change: Existing binaries may behave differently at run time.

Reason for change

See https://learn.microsoft.com/en-us/dotnet/core/compatibility/core-libraries/6.0/system-drawing-common-windows-only#reason-for-change

Recommended action

See https://learn.microsoft.com/en-us/dotnet/core/compatibility/core-libraries/6.0/system-drawing-common-windows-only#recommended-action

Feature area

Core .NET libraries

Affected APIs

See https://learn.microsoft.com/en-us/dotnet/core/compatibility/core-libraries/6.0/system-drawing-common-windows-only#affected-apis


Associated WorkItem - 90989

Metadata

Metadata

Assignees

Labels

🏁 Release: .NET 7Work items for the .NET 7 release📌 seQUESTeredIdentifies that an issue has been imported into Quest.breaking-changeIndicates a .NET Core breaking change

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions