C# NET Core在解压缩ZIP文件时引发InvalidDataException,Windows资源管理器将成功解压缩

C# NET Core在解压缩ZIP文件时引发InvalidDataException,Windows资源管理器将成功解压缩,c#,.net-core,unzip,zipfile,ziparchive,C#,.net Core,Unzip,Zipfile,Ziparchive,我试图解压嵌套的zip文件,但得到了一个InvalidDataException。当我尝试在Windows资源管理器中解压同一个文件时,它成功解压。为什么Windows资源管理器能够解压它而不能解压.NET核心压缩库 我怀疑zip文件有问题,但如果Windows资源管理器能够做到这一点,那么在.NET核心项目中就一定能够做到 我已尝试解压缩父zip文件,但这会引发InvalidDataException“本地文件头已损坏”。 ZipFile.ExtractToDirectory(“parent.

我试图解压嵌套的zip文件,但得到了一个
InvalidDataException
。当我尝试在Windows资源管理器中解压同一个文件时,它成功解压。为什么Windows资源管理器能够解压它而不能解压.NET核心压缩库

我怀疑zip文件有问题,但如果Windows资源管理器能够做到这一点,那么在.NET核心项目中就一定能够做到

我已尝试解压缩父zip文件,但这会引发
InvalidDataException“本地文件头已损坏”。

ZipFile.ExtractToDirectory(“parent.zip”,outputFolder)//引发异常
我尝试打开父zip文件并解压缩嵌套的zip文件,但这也会引发
InvalidDataException“找不到中央目录记录的结尾”。

使用(var archive=ZipFile.OpenRead(“parent.zip”))
{
var nestedZip=archive.GetEntry(“nested.zip”);
使用(var stream=nestedZip.Open())
使用(var nestedArchive=new Archive(stream))//引发异常
{
nestedArchive.ExtractToDirectory(outputFolder)
}
}

使用不同的zip文件尝试该方案,看看是否有效,如果有效,则意味着zip文件存在一些问题


也可以尝试使用不同的库。

Windows可能可以很好地解压它,但文件实际上是否正常且完整?这是否回答了您的问题@虽然zip中有很多文件,但我打开的少数文件看起来还可以。我曾经遇到过zip文件中的文件损坏的问题,但在创建ZipArchive对象时不会引发异常,只有在提取ZipArchiveEntry@Marshal我看到了这个问题,但是它没有帮助我处理其他zip文件,所以我确实认为问题在于zip文件,但这回避了问题,为什么Windows仍然能够解压缩文件?我如何在代码中复制它?
为什么Windows仍然能够解压该文件
可能它没有调用相同的代码。