背景:项目使用.net7框架,项目在Windows环境上运行时,一切正常。但是发布到Linux环境上后使用Spire.XLS实例化时就会抛异常。异常如下:
原因:由于net7的dll文件里面依赖了System.Drawing.Common这个类库,但是微软在非Windows平台对net6及以上的框架停止了System.Drawing的支持。
解决方法:
1、下载Free SFpire.XLS for .NET本地库:Free Spire.XLS for .NET | 下载
点击链接,进入官网下载压缩包后解压,引用Bin/netstandard2.0目录下的所有dll。如果点进入没有此按钮,是因为没有登录账号。
2、移除在线的FreeSpire.XLS包后,在项目中手动引用本地包
3、还需要从Nuget安装下面依赖。