在“System.IO.Compression”命名空间中找不到`ZipArchive`

问题描述 投票:15回答:3

我的问题与I didn't find "ZipFile" class in the "System.IO.Compression" namespace有关

enter image description here

但我已经为我的4.5.1 webforms项目引用了DLL:

enter image description here

我项目的属性给了我:Target framework: .Net Framework 4.5.1.和web.config:

<compilation debug="true" targetFramework="4.5" />

我错过了什么?

解决方案是手动引用web.config中的程序集但为什么呢?为什么添加引用对话框中的复选框不足?

<assemblies>
    <add assembly="System.IO.Compression, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
    <add assembly="System.IO.Compression.FileSystem, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
</assemblies>

https://stackoverflow.com/a/20099950/169714

c# reference webforms .net-4.5
3个回答
10
投票

我遇到了同样的问题,因为引用中没有名称空间,请执行以下步骤。

在我没有参考的情况下

When References not installed

安装引用后

enter image description here解决方案

1)在这里安装system.Io.compression来自nuget

System.IO.Compression

2)在这里安装system.Install-Package 40-System.IO.Compression.FileSystem。

System.IO.Compression.FileSystem


10
投票

您可以直接更新项目文件中的引用(卸载项目并编辑此项或使用记事本打开.csproj文件并编辑)

编辑前必须与:

<Reference Include="System.IO.Compression" />
<Reference Include="System.IO.Compression.FileSystem" />

编辑后:

<Reference Include="System.IO.Compression, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL" />
<Reference Include="System.IO.Compression.FileSystem, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL" />

在Visual Studio中再次加载项目并重建它。我希望它可以帮到你。


0
投票
using (var zip = new ZipArchive(System.IO.File.OpenRead(zipFileName))) { ... }
© www.soinside.com 2019 - 2024. All rights reserved.