Die Tage kam es zu einer Fehlermeldung in meinem QrCoder-Projekt. Es wurde gemeldet, dass der Code nicht unter Linux laufen würde, da es zu folgender Fehlermeldung käme:
Unhandled Exception: System.TypeInitializationException: The type initializer for ‘System.Drawing.KnownColors’ threw an exception.
—> System.TypeInitializationException: The type initializer for ‘System.Drawing.GDIPlus’ threw an exception.
—> System.DllNotFoundException: Unable to load DLL ‘gdiplus.dll’: The specified module could not be found.
(Exception from HRESULT: 0x8007007E)
at System.Drawing.GDIPlus.GdiplusStartup(UInt64& token, GdiplusStartupInput& input,
[…]
Die Fehlermeldung hatte ihren Ursprung jedoch nicht in meinem QrCoder, sondern in dem Zusammenspiel des .NET Core Frameworks mit der GDI Plus Bibliothek. Das .NET Core Framework versucht beim Zugriff auf “System.Drawing.GDIPlus” auf die “gdiplus.dll” zuzugreifen, welche es unter Linux einfach nicht gibt.
Erster Lösungsansatz
Zuerst sollte sichergestellt werden, dass GDI+ überhaupt installiert ist. Dies lässt sich mit folgendem Shell-Befehl nachholen:
sudo apt-get install libgdiplus
Wenn libgdiplus installiert ist, fehlt jedoch noch ein weiterer wichtiger Schritt…
libgdiplus für .NET Core verlinken
Da das .NET Core Framework, unabhängig vom […]