我的问题与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>
答案 0 :(得分:10)
我遇到同样的问题,因为引用中没有名称空间,请执行以下步骤。
在我的情况下没有参考
安装参考文献
1)从nuget这里安装system.Io.compression
2)从nuget安装system.Install-Package 40-System.IO.Compression.FileSystem。
答案 1 :(得分: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中再次加载项目并重建它。我希望它可以帮到你。
答案 2 :(得分:0)
using (var zip = new ZipArchive(System.IO.File.OpenRead(zipFileName))) { ... }