ZXing.Net.Bindings.SkiaSharp Linux环境报错解决

ZXing.Net.Bindings.SkiaSharp Linux环境报错解决

报错代码

//docker netcore3.1
var stream = HttpUitl.GeMemoryStream(url);
using (var skiaImage = SkiaSharp.SKBitmap.Decode(stream))
{
         var skiaReader = new ZXing.SkiaSharp.BarcodeReader();
         var skiaResult = skiaReader.Decode(skiaImage);
         content = skiaResult?.Text;
}

Linux环境异常

System.TypeInitializationException: The type initializer for 'SkiaSharp.SKAbstractManagedStream' threw an exception.
 ---> System.DllNotFoundException: Unable to load shared library 'libSkiaSharp' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: liblibSkiaSharp: cannot open shared object file: No such file or directory
   at SkiaSharp.SkiaApi.sk_managedstream_set_procs(SKManagedStreamDelegates procs)
   at SkiaSharp.SKAbstractManagedStream..cctor()
   --- End of inner exception stack trace ---
   at SkiaSharp.SKAbstractManagedStream..ctor(Boolean owns)
   at SkiaSharp.SKManagedStream..ctor(Stream managedStream, Boolean disposeManagedStream)
   at SkiaSharp.SKCodec.WrapManagedStream(Stream stream)
   at SkiaSharp.SKCodec.Create(Stream stream, SKCodecResult& result)
   at SkiaSharp.SKCodec.Create(Stream stream)
   at SkiaSharp.SKBitmap.Decode(Stream stream)

解决

参考:https://www.cnblogs.com/jopny/p/9394644.html (解决思路)

最终在 SkiaSharp github上找到解决方案

SkiaSharp.NativeAssets.Linux.NoDependencies (和SkiaSharp对应)

posted @   pizisu  阅读(964)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示