Начиная с версии .NET6 и выше Microsoft приостанавливает поддержку библиотеки System.Drawing.Common на других платформах, кроме Windows. Это связано с рядом проблем кроссплатформенного портирования GDI+ на другие операционные системы (ОС). В вышеприведённой статье описаны альтернативы System.Drawing.Common
, но для версии .NET6 ещё можно продолжать использовать классы из System.Drawing.Common
в отличных от Windows ОС.
Для этого:
- В проекте, где используются классы из библиотеки
System.Drawing.Common
, в файле проекта с расширением .csproj (обычно доступны по нажатию клавишы F4 из IDE) требуется добавить такую секцию:
1 | ... |
Это приведёт к тому, что при сборке проекта в файле вида [appname].runtimeconfig.json окажется секция:
1 | { |
- Требуется убедиться, что на ОС установлен пакет libgdiplus. Если пакет отсутствует, то его нужно установить.
Для Linux это можно сделать так:sudo apt install libgdiplus
Необходимо учесть, что начиная с .NET7 этот трюк больше не сработает, о чем предупреждается в вышеприведённой статье о Breaking Change от Microsoft.