2

私は以下を使用する必要があります:

    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);
4

3 に答える 3

5

そのライブラリは.NETFrameworkの一部ではなく、Wix(WindowxインストーラーXML)の一部です。

.NET 4.5を使用している場合は、ZipFile代わりにクラスを使用するか、 SharpZipLibなどのサードパーティライブラリを選択できます。

于 2012-12-17T17:13:28.743 に答える
0

MSDNWebサイトの例から取得

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);
        }
    }
}
于 2012-12-17T17:09:38.483 に答える
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");
 }

あなたの例と同じくらい簡単です。

于 2012-12-17T17:18:05.310 に答える