Котодомик

C# Архивирование с помощью 7-Zip

Все в той, или иной форме, сталкивались с архиваторами. Будь то скачивание файлов в архивах в интернете, или же создание бэкапов проекта, возможно установка приложения, которое хранит свои ресурсы в архиве.

Но пробовали ли вы посмотреть на обратную сторону медали архивов? Пробовали ли вы создавать программно архивы?

Это намного проще, чем кажется на первый взгляд. Для этого нам понадобятся две библиотеки. Основная библиотека 7-Zip, которую можно найти в папке с самим архиватором, а также дополнительная библиотека, которая будет служить .net-прослойкой между вашей программой и 7-zip библиотекой (которую нельзя добавить в references):

Оба файла необходимо положить в папку с вашей программой и добавить в references библиотеку SevenZipSharp.dll. Только эту библиотеку — вторая будет подключаться автоматически средствами первой, но об этом дальше.

Для начала — using. Прописываем библиотеку и не забываем про IO.

А теперь непосредственно процесс архивации папки с файлами.

Учтите, что библиотека 7zip.dll привязана к битности вашей операционной системе! А это значит, что в свойствах проекта нужно выставлять битность вашей операционной системы, а также использовать библиотеку 7zip.dll с той же битностью.

Exit mobile version