public void ExtractTo(string description, Stream stream, string folder) { Console.WriteLine("Writing contents of zip file {0} to {1}", description, folder); if (Directory.Exists(folder)) { Directory.Delete(folder, true); } Directory.CreateDirectory(folder); var system = new FileSystem(); string fileName = Path.GetTempFileName(); system.WriteStreamToFile(fileName, stream); using (var zipFile = new ZipFile(fileName)) { zipFile.ExtractAll(folder, ExtractExistingFileAction.OverwriteSilently); } system.DeleteFile(fileName); }