使用Microsoft.Deployment.Compression.Zip的c#zip文件

时间:2012-12-17 17:05:45

标签: c#

我需要使用以下内容:

    using Microsoft.Deployment.Compression.Zip;

从网上看,它说我需要以下参考dll

    Microsoft.Deployment.Compression.dll
    Microsoft.Deployment.Compression.Zip.dll

但我在.NET文件夹中找不到这些。

正如我们所讨论的那样,以下是我打算如何使用它。

    // CREATING ZIP FILE BY ADDING LIST OF FILES
    ZipInfo zip = new ZipInfo(@"C:\testarchive1.zip");
    List<strng> files = new List<string>();
    files.Add(@"C:\test1.txt");
    files.Add(@"C:\test2.txt");
    files.Add(@"C:\test3.txt");
    zip.PackFiles(null, files, null);

    // CREATING ZIP FILE BY ADDING FOLDER (WITH SUB-FOLDERS) USING MAXIMUM COMPRESSION

     zip = new ZipInfo(@"C:\testarchive2.zip"); 

     zip.Pack(@"C:\Test", true, Microsoft.Deployment.Compression.CompressionLevel.Max, null);

3 个答案:

答案 0 :(得分:5)

该库不是.NET Framework的一部分,而是Wix(Windowx Installer XML)的一部分。

如果您使用的是.NET 4.5,则可以使用ZipFile课程,或者选择第三方库,例如SharpZipLib

答案 1 :(得分:0)

取自MSDN网站示例

using System;
using System.IO;
using System.IO.Compression;

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            string startPath = @"c:\example\start";
            string zipPath = @"c:\example\result.zip";
            string extractPath = @"c:\example\extract";

            ZipFile.CreateFromDirectory(startPath, zipPath);

            ZipFile.ExtractToDirectory(zipPath, extractPath);
        }
    }
}

答案 2 :(得分:0)

试试这个:

http://dotnetzip.codeplex.com/

示例代码:

 using (ZipFile zip = new ZipFile())
 {
     // add this map file into the "images" directory in the zip archive
     zip.AddFile("c:\\images\\personal\\7440-N49th.png", "images");
     // add the report into a different directory in the archive
     zip.AddFile("c:\\Reports\\2008-Regional-Sales-Report.pdf", "files");
     zip.AddFile("ReadMe.txt");
     zip.Save("MyZipFile.zip");
 }

就像你的例子一样简单。