Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用Microsoft.Deployment.Compression.zip压缩文件_C# - Fatal编程技术网

C# 使用Microsoft.Deployment.Compression.zip压缩文件

C# 使用Microsoft.Deployment.Compression.zip压缩文件,c#,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

我需要使用以下工具:

    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);
//通过添加文件列表创建ZIP文件
ZipInfo-zip=新的ZipInfo(@“C:\testarchive1.zip”);
列表文件=新列表();
添加(@“C:\test1.txt”);
添加(@“C:\test2.txt”);
添加(@“C:\test3.txt”);
PackFiles(null,files,null);
//通过使用最大压缩添加文件夹(带子文件夹)创建ZIP文件
zip=新的ZipInfo(@“C:\testarchive2.zip”);
zip.Pack(@“C:\Test”,true,Microsoft.Deployment.Compression.CompressionLevel.Max,null);

摘自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);
        }
    }
}

该库不是.NET Framework的一部分,而是(Windowx安装程序XML)的一部分

如果您使用的是.NET 4.5,则可以改用该类,或者选择类似于

的第三方库,尝试以下方法:

示例代码:

 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");
 }

与您的示例一样简单。

我的使用看起来像使用Microsoft.Deployment.Compression.Zip;但是在哪里可以找到.dll?当我添加引用时,我在.NET文件夹中没有看到它。您能告诉我我需要的DLL的名称以及在哪里可以找到它们吗。我在.NET folderWeb开发中没有看到它们。我不知道您没有这些.Dll。您可以在我的下一次编辑中执行以下操作。。给我一秒钟斯坦利已经提供了链接斯坦利你完全正确。。我完全忘记了那件事+1嗨,斯坦,我正在使用.NET 4。你知道我用c#做拉链最好的方法是什么吗?有。如果不知道你的具体需求,我就不能说哪一个是“最好的”。研究它们并为自己选择一个。我猜他们中的任何一个都能有效地满足你的基本需求。嗨,穆罕默德,这个支持是基于什么.NET版本的?