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 birlikte, Microsoft Linux ve macOS üzerinde System.Drawing.Common desteğini durdurmuştur. Bu kütüphane artık yalnızca Windows üzerinde çalışacaktır. Daha fazla ayrıntı için resmi dokümantasyona bakın.

"System.Drawing.Common bu platformda desteklenmiyor" Hatasını Önlemek için Çözümler

.NET 6

Windows dışı işletim sistemlerinde, bir TypeInitializationException ve iç istisna olarak bir PlatformNotSupportedException oluşur. Platform analizcisi, Windows dışı platformlar için derleme zamanı uyarıları yayımlar. Bir yapılandırma seçeneği ayarlamazsanız, aşağıdaki çalışma zamanı istisnası atılır:

System.TypeInitializationException : 'Gdip' için tür başlatıcı bir istisna fırlattı.

---- System.PlatformNotSupportedException : System.Drawing.Common Windows dışı platformlarda desteklenmemektedir.

.NET 6'da Geçici çözüm:

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

{
    "runtimeOptions": {
        "configProperties": {
            "System.Drawing.EnableUnixSupport": true
        }
    }
}

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 üstü

.NET 7'den itibaren, Microsoft Linux ve macOS üzerinde System.Drawing.Common desteğini ve daha önce mevcut olan geçici çözümü tamamen kaldırdı.

Iron Software, System.Drawing.Common için IronSoftware.Drawing adlı açık kaynaklı bir yedek yayınladı.

Daha fazla bilgi için resmi dokümantasyona buradan ulaşabilirsiniz.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında lisans derecesine sahiptir (Carleton Üniversitesi) ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirme üzerine uzmanlaşmıştır. Kullanıcı dostu ve estetik açıdan hoş arayüzler tasarlamaya tutkuyla bağlı olan Curtis, modern çerç...

Daha Fazlasını Oku
Başlamaya Hazır mısınız?
Nuget Indirmeler 18,332,619 | Sürüm: 2026.4 yeni yayınlandı
Still Scrolling Icon

Hala Kaydiriyor musunuz?

Hızlı bir kanit mi istiyorsunuz? PM > Install-Package IronPdf
bir örnek çalıştır HTML'nizin PDF olduğunu izleyin.