Site icon Ryadel

ASP.NET Core e Linux - Unable to load DLL libgdiplus - come risolvere

How to Deploy a ASP.NET Core 2 Web Application to Linux CentOS - Tutorial

Oggi, durante la pubblicazione di un progetto ASP.NET Core sul mio server di produzione Linux CentOS, mi sono imbattuto in un problema che non mi era mai capitato prima. Al momento di lanciare la pagina principale, la web app restituiva il seguente errore:

Unable to load DLL libgdiplus - gdiplus.dll not found

Nel leggerlo, ho capito subito che il problema era quasi certamente legato all'impossibilità, da parte di ASP.NET Core, di recuperare la libreria GDI Plus, che nel mio progetto era ampiamente utilizzata. A quanto pare il .NET Core Framework non riusciva a recuperare i metodi presenti nel namespace System.Drawing.GDIPlus. Il motivo, come ho avuto modo di scoprire molto presto, è molto semplice: si tratta di una libreria che non fa parte del .NET Core runtime su Linux.

La soluzione

Fortunatamente, la soluzione del problema è molto semplice: è sufficiente installare il pacchetto lbgdiplus, disponibile per tutte le principali distribuzioni Linux, che fornisce il supporto del namespace System.Drawing.GDIPlus.

Per installarlo, è sufficiente digitare il seguente comando:

Se la vostra distribuzione Linux non utilizza yum, è probabile che dobbiate utilizzare apt-get al suo posto:

Una volta fatto questo, l'applicazione ASP.NET Core dovrebbe funzionare senza problemi, con tutte le funzionalità GDI+ previste.

Conclusione

Per il momento è tutto: mi auguro che questo articolo possa aiutare altri sviluppatori .NET Core a risolvere rapidamente questo problema.

 

Exit mobile version