Ошибка при чтении Zip-файла размером 70 МБ (расширение NuGet Ionic.Zip )

#c# #nuget #zip #nuget-package

#c# #nuget #zip #nuget-пакет

Вопрос:

Я могу разархивировать файлы, используя тот же код, но для файлов размером более 65 МБ он генерирует ошибку переполнения в ZipFile.Read

Я написал код:

 using Ionic.Zip;

private void UnzipFile()
{
    using (ZipFile zip = ZipFile.Read(currentFilePath))
    {
        zip.ExtractAll(target_file_path, ExtractExistingFileAction.OverwriteSilently);
    }
}
  

Но ошибка при получении переполнения:

 Ionic.Zip.ZipException
  HResult=0x80131500
  Message=Cannot read that as a ZipFile
  Source=Ionic.Zip
  StackTrace:
   at Ionic.Zip.ZipFile.ReadIntoInstance(ZipFile zf)
   at Ionic.Zip.ZipFile.Read(String fileName, TextWriter statusMessageWriter, Encoding encoding, EventHandler`1 readProgress)
   at Ionic.Zip.ZipFile.Read(String fileName)

Inner Exception 1:
OverflowException: overflow while creating filename
  

Комментарии:

1. В проекте GitHub есть отчет об ошибке / issue, связанный с Ionic.Zip: github.com/haf/DotNetZip.Semverd/issues/101

2. Но мой файл не настолько велик, как указано в предоставленной вами ссылке. Проблема в вашей ссылке имеет размер 4,7 ГБ, в то время как размер моего файла составляет всего около 70 МБ. Я изучил каждый аспект, прежде чем писать вопрос на самом деле.

3. Ну и что? Мешает ли вам другой размер ZIP-файла использовать обходной путь, упомянутый в этом отчете о проблеме / баге? (Заметили ли вы в отчете об ошибке, что проблема, по-видимому, была связана не с размером файла, а с переменной call count, ограничивающей количество (рекурсивных?) AppendCopyToFileName вызывается искусственно?)