System.Drawing.Common Alternatifleri (.NET 7 ve Windows dışı)
.NET 6 ile başlayarak, Microsoft System.Drawing.Common'ı Linux ve macOS'ta desteklemeyi durdurdu. Bu kütüphane artık yalnızca Windows'ta çalışacak. Daha fazla bilgi için, resmi belgelere başvurun.
"Bu platformda System.Drawing.Common desteklenmiyor" Hatasını Önlemek İçin Geçici Çözümler
.NET 6
Windows dışı işletim sistemlerinde, bir TypeInitializationException , iç istisna olarak PlatformNotSupportedException ile atılır. Platform analizcileri Windows dışı platformlar için derleme zamanı uyarıları verir. Yapılandırma seçeneği ayarlanmadığı sürece aşağıdaki çalışma zamanı istisnası atılır:
System.TypeInitializationException : 'Gdip' tür başlatıcısı bir istisna oluşturdu.
---- System.PlatformNotSupportedException : System.Drawing.Common, Windows dışı platformlarda desteklenmiyor.
.NET 6'da geçici çözüm:
Windows dışı platformlar için desteği etkinleştirmek amacıyla, System.Drawing.EnableUnixSupport çalışma zamanı yapılandırma anahtarını true olarak runtimeconfig.json dosyasında ayarlayın:
{
"runtimeOptions": {
"configProperties": {
"System.Drawing.EnableUnixSupport": true
}
}
}
Ayrıca, yapılandırmayı programlı olarak etkinleştirmek için kodunuzun başına aşağıdaki satırı ekleyin:
// 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);
' Enable System.Drawing.Common support on non-Windows platforms in .NET 6
System.AppContext.SetSwitch("System.Drawing.EnableUnixSupport", True)
.NET 7 ve sonrası
.NET 7'den itibaren, Microsoft Linux ve macOS'ta System.Drawing.Common desteğini, daha önce mevcut olan geçici çözüm dahil, tamamen kaldırdı.
Iron Software, System.Drawing.Common için IronSoftware.Drawing adlı açık kaynaklı bir yedek yayınladı.
Daha fazla bilgi almak için resmi belgeleri ziyaret edin: resmi belgeler.

