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ışındaki işletim sistemlerinde, TypeInitializationException hatası, iç istisna olarak PlatformNotSupportedException ile birlikte 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:

System.Drawing.EnableUnixSupport dosyasında true çalışma zamanı yapılandırma anahtarını runtimeconfig.json olarak ayarlayarak Windows dışındaki platformlar için desteği etkinleştirin:

{
    "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, daha önce mevcut olan geçici çözümü de dahil olmak üzere, Linux ve macOS'ta System.Drawing.Common desteğini tamamen kaldırmıştır.

Iron Software, System.Drawing.Common için IronSoftware.Drawing adlı açık kaynaklı bir alternatif 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,014,616 | Sürüm: 2026.5 just released
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.