Как я могу создать 7-Zip-архивы из моего консольного приложения на С#? Мне нужно иметь возможность извлекать архивы, используя обычную, широко доступную 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 aka LZMA SDK - я думаю, я недостаточно умен, чтобы понять, как это использовать (вот почему я размещал здесь)... Любые примеры рабочего кода, демонстрирующие создание архива 7zip, который может быть извлечен регулярная программа 7zip?
- Интерфейс CodeProject С# (.NET) для DLL файлов с 7-значным архивом - поддерживает только извлечение из архивов 7zip... Мне нужно их создать!
- SharpZipLib - в соответствии с их часто задаваемыми вопросами SharpZipLib не поддерживает 7zip.