Как я могу создавать архивы 7-Zip из моего консольного приложения C #? Мне нужно иметь возможность извлекать архивы с помощью обычной широко доступной программы 7-Zip .
Вот мои результаты с примерами, предоставленными в качестве ответов на этот вопрос.
- «Обстрел» до 7z.exe - это самый простой и эффективный подход, и я могу подтвердить, что он работает нормально . Как упоминает workmad3 , мне просто нужно гарантировать, что 7z.exe установлен на всех целевых машинах, что я могу гарантировать.
- 7Zip сжатие в памяти - это относится к сжатию файлов cookie «в памяти» перед отправкой клиенту; этот метод кажется несколько многообещающим. Тип возвращаемого значения методов-оберток (обертывающих LZMA SDK )
byte[]
. Когда я записываюbyte[]
массив в файл, я не могу извлечь его с помощью 7-Zip (File.7z is not supported archive
). - 7zSharp Wrapper (находится на CodePlex) - это оболочка для 7z exe / LZMA SDK . Я сослался на проект из своего приложения, и он успешно создал несколько архивных файлов, но мне не удалось извлечь файлы с помощью обычной программы 7-Zip (
File.7z is not supported archive
). - 7Zip SDK, также известный как LZMA SDK - я думаю, я недостаточно умен, чтобы понять, как его использовать (поэтому я опубликовал здесь) ... Любые примеры рабочего кода, демонстрирующие создание архива 7zip, который может быть извлечен обычная программа 7zip?
- CodeProject C # (.NET) Интерфейс для библиотек DLL 7-Zip Archive - поддерживает извлечение только из архивов 7zip ... Мне нужно их создать!
- SharpZipLib - Согласно их FAQ , SharpZipLib не поддерживает 7zip.