C# - '使用'声明似乎没有被承认

时间:2016-06-10 09:27:39

标签: c# reference compression package using

我的应用程序中有以下代码块:

try
{
    string extractPath = @"C:\Documents";
    using (ZipArchive zip = ZipFile.Open(zipFP, ZipArchiveMode.Read))
        foreach(ZipArchiveEntry entry in zip.Entries)
        {
            try
            {
                extractedPDF = System.IO.Path.Combine(extractPath, entry.FullName);
                entry.ExtractToFile(extractedPDF, true);
            }
            catch (System.IO.IOException)
            {
                Console.WriteLine("File already exists... ");
                Console.WriteLine("Error during extraction... ");
            }
        }
    Console.WriteLine("PDF extracted from ZIP: '{0}'...", string.Concat(extractPath, zipFP));
    PdfPanel.OpenFile(extractedPDF);
}catch(AccessViolationException ex)
{
    Console.WriteLine("Can't display a zip in the PDF panel... " + ex.InnerException);
}

目前,我在using& foreach行突出显示ZipArchiveZipFileZipArchiveMode& ZipArchiveEntry

编译错误说:

  

类型或命名空间名称' ZipArchive'找不到(你错过了使用指令或汇编引用吗?

但是我在这个文件的顶部有using System.IO.Compression语句,我确信我已经添加了代码所需的所有引用和其他使用语句。我从一个完全正常运行的单独项目中复制了这段代码,并检查了我是否添加了该项目中所有缺少的using语句和引用。

还有什么可能导致这个问题?为什么编译器没有认识到我是using System.IO.Compression包的事实?

1 个答案:

答案 0 :(得分:1)

您需要添加对程序集的引用。在解决方案资源管理器中,在项目下右键单击引用 - >添加参考。在Framework Assemblies列表中查找System.IO.Compression。选中相应的复选框,然后按确定。