IronBarcode - System.Drawing.Common Alternatif
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ışındaki işletim sistemlerinde, bir çalışma zamanı yapılandırma anahtarı ayarlamadığınız sürece,
TypeInitializationExceptionistisnası, iç istisna olarakPlatformNotSupportedExceptionile birlikte 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.
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()
----- 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()
Geçici çözüm: System.Drawing.EnableUnixSupport dosyasında runtimeconfig.json çalışma zamanı yapılandırma anahtarını true olarak ayarlayarak Windows dışındaki platformlar için desteği etkinleştirin:
{
"runtimeOptions": {
"configProperties": {
"System.Drawing.EnableUnixSupport": true
}
}
}
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

