我想使用'ZipArchive'类获取ZIP文件中的内容列表。
我正在使用MSDN中的一个示例:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO.Compression;
using System.IO.Compression.dll;
namespace Zip_Extractor
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
using (FileStream zipToOpen = new FileStream(@"c:\users\exampleuser\release.zip", FileMode.Open))
{
using (ZipArchive archive = new ZipArchive(zipToOpen, ZipArchiveMode.Update))
{
ZipArchiveEntry readmeEntry = archive.CreateEntry("Readme.txt");
using (StreamWriter writer = new StreamWriter(readmeEntry.Open()))
{
writer.WriteLine("Information about this package.");
writer.WriteLine("========================");
}
}
}
}
}
}
然而,我收到错误
'无法找到'ZipArchive'的命名空间。
我可以确认该应用程序的“目标框架”是.NET Framework 4.5。
有人能指出我正确的方向吗?
答案 0 :(得分:3)
添加对System.IO.Compression
和System.IO.Compression.FileSystem
的引用。
查看David Anderson的博客:http://www.danderson.me/dotnet/zipfile-class-system-io-compression-filesystem/
希望这有帮助!
答案 1 :(得分:0)
右键单击引用,添加对框架程序集System.IO.Compression和System.IO.Compression.FileSystem的引用。包括使用System.IO.Compression;并确保您使用的是.NET Framework 4.5。
答案 2 :(得分:0)
我迟到了,但它可能对某人有帮助......
添加对其他答案中提到的文件的引用:
添加后可能无法正常工作,因此请进入其属性并将每个“copy local”设置标记为“True”。
我的诀窍。 :)
答案 3 :(得分:0)