Overview Q & A Rating & Review
FxSocket ZIP is a library for .NET which let you add file compression and decompression capability to your .NET applications. It can be integrated into WinForms, Console, Xamarin iOS, Xamarin Android, UWP, WPF, MVC, and ASP.NET. It does not depend on any 3rd party tools or libraries. It supports both 32-bit and 64-bit application architectures.
Compatible with WinZip, PKZIP, Info-ZIP (and many others). Easy to use API (see the tutorials). Password protection (legacy ZIP 2.0 encryption method; WinZip compatible AES 128, AES 192, AES 256 encryption methods). Protect existing ZIP file with password without the need of decompression of source ZIP file and temporary disk/memory space. International characters in filenames (Unicode support). Supports large files (over 4GB). Multi-core compression support. The number of cores used for compression can be configured via ZipArchive.Options.CompressorCount property. Wildcards support for adding, extracting and deleting files. Advanced file filtering using the FileSet class. Recursive directory tree operations. Both stream and file based operations. Possibility to access decompression stream directly. Create ZIP files in memory. Add data to ZIP file from stream or memory. Written in 100% pure .NET. Samples for command line, WinForms and ASP.NET. All samples available in C# and VB.NET. Add, extract, delete, move/rename files in ZIP archive. Move capability makes it possible to delete source item after successful transfer. 10 compression levels. ZIP archive shrinking. Events and delegates for effortless integration with your applications. Component source code available (C#). Deflate and Enhanced Deflate support (compatible with Deflate64(tm) by PKWARE). Read/write comments within ZIP file. Open self-extracting ZIP archives. Thread-safe. FIPS compliant mode in which only FIPS-approved modules are used. Support for asynchronous operations including .NET 4.x-style task-based API. Storing and restoring file dates and attributes (Read-only, Archive, Hidden and others). Ability to inflate (decompress) directly to in-memory byte array. Searching for files inside the archive by wildcard mask or FileSet (advanced file filter definition class). Support for IEnumerable in ZIP item collections (required for using LINQ). All operations are done without any temporary files. Archive contents listings with complete file details (original size, compressed size, creation and last modification dates, CRC checksum, comment). Custom Deflate algorithm implementation - no dependency on any open-source ZLib compression libraries (unlike many others). GZipCompression stream and GZipDecompression stream with multiple files support. Zip.Options.RestoreDateTime property to make it possible to restore source date/time on target. FileSet.Flatten option (makes it possible to ignore source directory structure and copy all files into single target directory).