我的问题与I didn't find "ZipFile" class in the "System.IO.Compression" namespace有关
但我已经为我的4.5.1 webforms项目引用了DLL:
我项目的属性给了我: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>
我遇到了同样的问题,因为引用中没有名称空间,请执行以下步骤。
在我没有参考的情况下
安装引用后
1)在这里安装system.Io.compression来自nuget
2)在这里安装system.Install-Package 40-System.IO.Compression.FileSystem。
您可以直接更新项目文件中的引用(卸载项目并编辑此项或使用记事本打开.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中再次加载项目并重建它。我希望它可以帮到你。
using (var zip = new ZipArchive(System.IO.File.OpenRead(zipFileName))) { ... }