Ionic.Zip报错:’IBM437′ is not a supported encoding name

项目从net48升级到net8之后,遇到一个错误:

image

在执行这一行代码时发生异常:

using var zipFile = new ZipFile();

解决办法:

1. 换库,不使用Ionic.Zip,更新使用SharpZipLib,但此方法比较麻烦,要更新项目中所有用到的地方。

2. 添加编码支持:

由于net8默认不包含这些编码,需要手动添加。通过Nuget 添加引用

<PackageReference Include="System.Text.Encoding.CodePages" Version="8.0.0" />

然后,在项目入口入注册:

Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);

第二个方法虽然方便,但是CodePages的dll居然有4M大小,会增加程序体积。

最后,还是看自己情况选择吧。

© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情

    暂无评论内容