解决使用ICsharpCode解压缩时候报错Size MisMatch4294967295;的错误

 

 

如果是一个文件夹生成的zip文件,解压缩时候不会报错。

如果是一个文件夹里面包含着两个子文件夹,而且每个子文件夹里面都有着文件。生成的zip文件在解压时候就出报这个错误。

 

具体的解决办法,通过网上搜索,有两种方法。

第一种:

在使用ZipEntry时候添加如下代码:

ZipEntry.CompressionMethod=CompressionMethod.Stored;

我试过了,不起作用。

第二种:

找到源码,注释如下代码:

    //if ((flags & 8) == 0 &&
                        //    (inf.TotalIn != csize && csize != 0xFFFFFFFF && csize != -1 || inf.TotalOut != size)) {
                        //    throw new ZipException("Size mismatch: " + csize + ";" + size + " <-> " + inf.TotalIn + ";" + inf.TotalOut);
                        //}

亲测可行。

具体操作:

1.官网下载源码  http://icsharpcode.github.io/SharpZipLib/

2.解压缩之后打开sln解决方案。

3.Ctrl+H搜索到代码注释

4.重新生成解决方案,在bin目录下找到DLL引用这个新的DLL就可以了。

 

转载于:https://www.cnblogs.com/melodygkx/p/9714431.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值