IronBarcode - System.Drawing.Common Alternatif

Curtis Chau
Curtis Chau
Updated: 22 Nisan 2026

Iron Software, System.Drawing.Common için açık kaynaklı bir yedekleme olarak IronDrawing geliştirmiştir. IronDrawing hakkında daha fazla bilgi edinmek için buraya tıklayın.

System.Drawing.Common yalnızca Windows'da çalışacaktır.

  • Windows dışı işletim sistemlerinde, bir çalışma zamanı yapılandırma anahtarı ayarlamadığınız sürece, iç istisna olarak PlatformNotSupportedException ile bir TypeInitializationException istisnası atılır.
  • .NET 6'da, platform analizcisi, kodun Windows olmayan işletim sistemleri için derlendiğinde derleme zamanı uyarıları verir. Buna ek olarak, bir yapılandırma seçeneği ayarlanmadığı sürece aşağıdaki çalışma zamanı istisnası atılır:
System.TypeInitializationException : The type initializer for 'Gdip' threw an exception.
          ---- System.PlatformNotSupportedException : System.Drawing.Common is not supported on non-Windows platforms. See https://aka.ms/systemdrawingnonwindows for more information.
Text
Stack Trace:
            at System.Drawing.SafeNativeMethods.Gdip.GdipCreateBitmapFromFile(String filename, IntPtr& bitmap)
          /_/src/libraries/System.Drawing.Common/src/System/Drawing/Bitmap.cs(42,0): at System.Drawing.Bitmap..ctor(String filename, Boolean useIcm)
          /_/src/libraries/System.Drawing.Common/src/System/Drawing/Bitmap.cs(25,0): at System.Drawing.Bitmap..ctor(String filename)
          /_/src/libraries/System.Resources.ResourceManager/tests/ResourceManagerTests.cs(270,0): at System.Resources.Tests.ResourceManagerTests.EnglishImageResourceData()+MoveNext()
          /_/src/libraries/System.Linq/src/System/Linq/Select.cs(136,0): at System.Linq.Enumerable.SelectEnumerableIterator`2.MoveNext()
Text
----- Inner Stack Trace -----
          /_/src/libraries/System.Drawing.Common/src/System/Drawing/LibraryResolver.cs(31,0): at System.Drawing.LibraryResolver.EnsureRegistered()
          /_/src/libraries/System.Drawing.Common/src/System/Drawing/GdiplusNative.Unix.cs(65,0): at System.Drawing.SafeNativeMethods.Gdip.PlatformInitialize()
          /_/src/libraries/System.Drawing.Common/src/System/Drawing/Gdiplus.cs(27,0): at System.Drawing.SafeNativeMethods.Gdip..cctor()
Text

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

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

Bu çözüm, System.Drawing desteği için Microsoft'un .NET 6 için sunduğu güncel çözümdür: https://docs.microsoft.com/en-us/dotnet/core/compatibility/core-libraries/6.0/system-drawing-common-windows-only

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ılandırılmış, görsel olarak çekici kılavuzlar oluşturmayı seviyor.

Daha Fazla Oku

Başlamaya Hazır mısınız?

Nuget Downloads 2,540,041Sürüm:2026.11yeni yayınlandı