Alternativas comunes a System.Drawing.Common (.NET 7 y versiones que no son Windows)
A partir de .NET 6, Microsoft ha dejado de soportar System.Drawing.Common en Linux y macOS. Esta biblioteca ahora solo funcionará en Windows. Para más detalles, consulte la documentación oficial.
Soluciones para evitar el error "System.Drawing.Common no es compatible con esta plataforma"
.NET 6
En sistemas operativos no-Windows, se lanza una TypeInitializationException con una PlatformNotSupportedException como excepción interna. El analizador de plataforma emite advertencias de tiempo de compilación para plataformas no-Windows. La siguiente excepción de tiempo de ejecución se lanza a menos que configure una opción de configuración:
System.TypeInitializationException : El inicializador de tipo para 'Gdip' lanzó una excepción.
---- System.PlatformNotSupportedException : System.Drawing.Common no es compatible con plataformas no-Windows.Resolución temporal en .NET 6:
Habilite el soporte para plataformas no-Windows estableciendo el interruptor de configuración de tiempo de ejecución System.Drawing.EnableUnixSupport a true en el archivo runtimeconfig.json:
{
"runtimeOptions": {
"configProperties": {
"System.Drawing.EnableUnixSupport": true
}
}
}Además, agregue la siguiente línea al inicio de su código para habilitar la configuración programáticamente:
// Enable System.Drawing.Common support on non-Windows platforms in .NET 6
System.AppContext.SetSwitch("System.Drawing.EnableUnixSupport", true);// Enable System.Drawing.Common support on non-Windows platforms in .NET 6
System.AppContext.SetSwitch("System.Drawing.EnableUnixSupport", true);.NET 7 y superior
A partir de .NET 7, Microsoft ha eliminado completamente el soporte para System.Drawing.Common en Linux y macOS, incluyendo la solución alternativa previamente disponible.
Iron Software ha lanzado un reemplazo de código abierto para System.Drawing.Common, llamado IronSoftware.Drawing.
Para saber más, visite la documentación oficial.






