void ExtractZipFile (string zipFile, string outDir) { ZipInputStream zip = new ZipInputStream (File.OpenRead (zipFile)); ZipEntry entry; while ((entry = zip.GetNextEntry ()) != null) { string file = Path.Combine (outDir, entry.Name); Directory.CreateDirectory (Path.GetDirectoryName (file)); using (var output = File.OpenWrite (file)) zip.WriteTo (output); } }