[英]System.Drawing support with lambda container images
我试图使用容器图像在 lambda function 中添加 System.Drawing 库。 在此处遵循 AWS 文档
添加
RUN yum install -y amazon-linux-extras
RUN amazon-linux-extras install epel -y
RUN yum install -y libgdiplus
在Dockerfile
里面。
拨打 lambda 时出现错误
System.TypeInitializationException:“Gdip”的类型初始值设定项引发异常。 System.PlatformNotSupportedException:非 Windows 平台不支持 System.Drawing.Common。 有关详细信息,请参阅https://aka.ms/systemdrawingnonwindows 。
您无需将 package 从 v6.0.0 降级。 在 .NET 6 中,您可以通过将此行添加到启动代码中(在调用任何依赖于 GDI 的代码之前)来解决此问题:
AppContext.SetSwitch("System.Drawing.EnableUnixSupport", true);
但请注意,这不适用于 v7.0.0 及更高版本。 Unix 支持已从 7.0.0-preview.* 版本中删除。
问题出在我正在使用的System.Drawing.Common package 版本上。 我已将 package 从 6.0.0 降级到 4.7.0,错误消失了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.