System.Drawing.Common Alternatifleri (.NET 7 ve Windows dışı)

This article was translated from English: Does it need improvement?
Translated
View the article in English

.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)
$vbLabelText   $csharpLabel

.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.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapı...

Daha Fazla Oku
Başlamaya Hazır mısınız?
Nuget İndirmeler 19,936,792 | Sürüm: 2026.7 yeni yayınlandı
Still Scrolling Icon

Hâlâ Kaydırıyor Musunuz?

Hızlıca kanıt ister misiniz? PM > Install-Package IronPdf
bir örnek çalıştır HTML'nizi bir PDF'ye dönüştüğünü izleyin.