我正在尝试在VS 2010中的C#WinForms项目中编译这个简单的代码:
using System.IO;
using System.IO.Compression;
string zipPath = @"c:\example\start.zip";
string extractPath = @"c:\example\extract";
using (ZipArchive archive = ZipFile.OpenRead(zipPath))
{
foreach (ZipArchiveEntry entry in archive.Entries)
{
if (entry.FullName.EndsWith(".txt", StringComparison.OrdinalIgnoreCase))
{
entry.ExtractToFile(Path.Combine(extractPath, entry.FullName));
}
}
}
ZipFile Class的说明告诉我,我需要添加System.IO.Compression.FileSystem
程序集。对不起这个问题,但它到底在哪里?它是作为DLL吗?它不在.NET引用列表中,我确信我已经安装了.NET Framework v.4.5。
编辑:无论谁想在您的VS 2010项目中包含简单的Zip归档支持,我发现this project可以直接编译到您自己的项目中。非常干净简单。
答案 0 :(得分:4)
您可能已安装.NET 4.5框架,但在4.5中开发程序时需要让VS 2012使用其中的组件。
VS 2010支持.NET 2.0,3.0,3.5和4.0,但不支持4.5。
VS 2012支持以上所有以及.NET 4.5。 ZipFile Class是4.5中的新功能,没有早期版本(至少根据MSDN链接)。
如果您不想购买VS 2012,可以查看免费的Visual Studio Express 2012 Products。
答案 1 :(得分:2)
如果您的操作系统支持.NET 4.5,您可以使用Visual Studio 2010并支持它 我知道这是因为我在Windows 8上使用Visual Studio 2010。
右键单击您的解决方案以添加引用(与您一样)。显示对话框时,选择浏览,然后导航到以下文件夹:
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5
你会在那里找到它。
我有一段时间没有同样的问题。
希望这有帮助。
答案 2 :(得分:0)
“在解决方案资源管理器中,右键单击引用或依赖项节点并选择添加引用。您也可以右键单击项目节点并选择添加 > 引用。
参考管理器打开并按组列出可用参考。
指定要添加的引用,然后选择“确定”。"
在这种情况下,搜索“System.IO.Compression.FileSystem”并选中复选框。 仅此而已。