DotNetZip очень прост в использовании. Мне это нравится, потому что оно полностью управляемое - взаимодействие с оболочкой не требуется. Модель программирования проще и чище, чем для оболочки. Также это проще, чем SharpZipLib, а также классы Packaging, добавленные в .NET 3.0. Он бесплатный, маленький, активно поддерживается.
Это намного лучше, чем вариант J #, предлагаемый одним постером - J # - это огромное время выполнения и гигантская таблетка, которую можно проглотить, чтобы получить только поддержку ZIP. Также поддержка J # прекращается. Вероятно, не очень хорошая идея вводить новые зависимости от J #.
Пример кода для DotNetZip:
try
{
using (ZipFile zip = new ZipFile(args[0], System.Console.Out))
{
zip.AddDirectory(args[1]); // recurses subdirectories
zip.Save();
}
}
catch (System.Exception ex1)
{
System.Console.Error.WriteLine("exception: " + ex1);
}
DotNetZip работает с .NET v2.0, 3.0, 3.5, а также с Compact Framework v2.0 и 3.5. Это делает файлы ZIP, имена файлов Unicode, комментарии, пароли. Это делает ZIP64 так же как Самораспаковывающиеся архивы. Это быстро. Попытайся.