Usando System.IO.Packaging para generar un archivo ZIP

Sé que los gustos de las bibliotecas DotNetZip o SharpZipLib suelen recomendarse para crear archivos ZIP en un idioma .net (C # en mi caso), pero no es imposible usar System.IO.Packaging para generar un archivo ZIP. Pensé que sería bueno intentar desarrollar una rutina en C # que pudiera hacerlo, sin la necesidad de descargar ninguna biblioteca externa. ¿Alguien tiene un buen ejemplo de un método o métodos que usará System.IO.Packaging para generar un archivo ZIP?

déjame google esto para ti -> system.io.packaging + generate + zip

primer enlace http://weblogs.asp.net/jongalloway//creating-zip-archives-in-net-without-an-external-library-like-sharpziplib

 using System; using System.IO; using System.IO.Packaging; namespace ZipSample { class Program { static void Main(string[] args) { AddFileToZip("Output.zip", @"C:\Windows\Notepad.exe"); AddFileToZip("Output.zip", @"C:\Windows\System32\Calc.exe"); } private static void AddFileToZip(string zipFilename, string fileToAdd, CompressionOption compression = CompressionOption.Normal) { using (Package zip = System.IO.Packaging.Package.Open(zipFilename, FileMode.OpenOrCreate)) { string destFilename = ".\\" + Path.GetFileName(fileToAdd); Uri uri = PackUriHelper.CreatePartUri(new Uri(destFilename, UriKind.Relative)); if (zip.PartExists(uri)) { zip.DeletePart(uri); } PackagePart part = zip.CreatePart(uri, "", compression); using (FileStream fileStream = new FileStream(fileToAdd, FileMode.Open, FileAccess.Read)) { using (Stream dest = part.GetStream()) { fileStream.CopyTo(dest); } } } } } } 

En .NET Framework 4.5 puede usar las nuevas clases en el espacio de nombres System.IO.Compression .