Событие сжатия Sevenzip не запускается

У меня есть приложение winform, которое использует sevenzip.dll и реализует его возможности для сжатия файлов извлечения и каталогов. Моя проблема в том, что я хочу использовать событие сжатия класса sevenzip.compressor, чтобы отслеживать ход сжатия и отображать его с помощью progressBar. Дело в том, что событие никогда не запускается (проверяется в режиме отладки), пока все остальные события работают, например, событие CompressionFinished. Я обнаружил, что другие разработчики столкнулись с той же проблемой, но никто не дал ответов. Примечание: класс экстрактора библиотеки dll также работает как положено, и все события запускаются, включая событие extractor.extracting. Любая помощь о том, как преодолеть проблему, будет оценена. Вот часть кода, который я использую:

 SevenZipCompressor compressor = new SevenZipCompressor();
            // NOT FIRING
            compressor.Compressing += new EventHandler<ProgressEventArgs>(compressor_Compressing);
            // Firing as expected
            compressor.CompressionFinished += new EventHandler<EventArgs>(compressor_CompressionFinished);
            compressor.ArchiveFormat = OutArchiveFormat.Zip;
            // if this value is true - then no events are fired
            compressor.FastCompression = false;
            compressor.CompressionMethod = CompressionMethod.Default;
            compressor.TempFolderPath = System.IO.Path.GetTempPath();
            compressor.EventSynchronization = EventSynchronizationStrategy.AlwaysAsynchronous;
            compressor.CompressDirectory(source, output, GeneratePassword(backupID, customerID));

1 ответ

Решение

Нашел ответ всем, кто сталкивался с такой же проблемой.

Событие сжатия запускается ТОЛЬКО если используется метод сжатия lzma .

просто изменив одну строку на:

compressor.CompressionMethod = CompressionMethod.Lzma;
Другие вопросы по тегам