我需要使用以下内容:
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);
答案 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");
}
就像你的例子一样简单。