После обновления с Heroku-16 до стека Heroku-18 мое приложение .NET Core 2.2, которое ссылается на System.Drawing.Common
для использования GDI +, выдает ошибку:
System.TypeInitializationException: The type initializer for 'Gdip' threw an exception.
--->System.DllNotFoundException: Unable to load DLL 'libgdiplus': The specified module could not be found.
at System.Runtime.InteropServices.FunctionWrapper `1.get_Delegate()
at System.Drawing.SafeNativeMethods.Gdip.GdiplusStartup(IntPtr& token, StartupInput& input, StartupOutput& output)
at System.Drawing.SafeNativeMethods.Gdip..cctor()
Это потому, что libc6-dev
неустановлен ( см. эту проблему ). Я использую heroku-buildpack-apt для установки libgdiplus
и libc6-dev
), но похоже, что пакет больше не доступен во время выполнения на Heroku-18 ,только во время сборки ( см. эту страницу ).
Из журнала сборки:
remote: -----> Fetching .debs for libc6-dev
remote: Reading package lists...
remote: Building dependency tree...
remote: Reinstallation of libc6-dev is not possible, it cannot be downloaded.
remote: 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Возврат к Heroku-16 решает проблему.
Как я могу заставить эту работу работать со стеком Heroku-18 ?? Кто-нибудь нашел способ?