Cannot find `ZipArchive` in the “System.IO.Compres

2020-03-09 08:08发布

My question is related to I didn't find "ZipFile" class in the "System.IO.Compression" namespace

The type or namespace name 'ZipArchive' does not exist in the namespace 'System.IO.Compression'

But I have referenced the DLL's for my 4.5.1 webforms project:

Screenshot of 'References' tab

Properties of my project give me: Target framework: .Net Framework 4.5.1. and the web.config:

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

What am I missing?

The solution was to manually reference the assemblies in the web.config But why? Why wasn't the checkbox in the add reference dialog insufficient?

<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>

Taken from this answer to "Installed .Net 4.5 but can't use ZipFile class in Visual C#"

3条回答
够拽才男人
2楼-- · 2020-03-09 08:53

you can update References in Project file directly (Unload Project and Edit this or open .csproj file with notepad and edit)

Before edit must same as:

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

After your edit:

<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" />

load again your project in Visual Studio and rebuild it. I hope it can help you.

查看更多
可以哭但决不认输i
3楼-- · 2020-03-09 08:57

I faced same problem because the namespace is not present in References,Please do the following steps.

In my case Without References

When References not installed

After Installing References

enter image description here Solution

1)Install system.Io.compression from nuget here

System.IO.Compression

2)Install system.Install-Package 40-System.IO.Compression.FileSystem from nuget here.

System.IO.Compression.FileSystem

查看更多
爷的心禁止访问
4楼-- · 2020-03-09 09:05
using (var zip = new ZipArchive(System.IO.File.OpenRead(zipFileName))) { ... }
查看更多
登录 后发表回答