System.IO.Compression.FileSystem.dll in c# program

2019-06-20 05:56发布

I' like to use the dll System.IO.Compression.FileSystem.dll in my project

file

the .net framework version is 4.5 and the os is 64. The problem is that the dll is not found. config What is the solution?

标签: c# .net file dll
4条回答
Summer. ? 凉城
2楼-- · 2019-06-20 06:39

Adding reference to System.IO.Compression.dll solved this issue for me.

查看更多
Ridiculous、
3楼-- · 2019-06-20 06:41

A new nuget package is coming out. Check this out :)

https://www.nuget.org/packages/System.IO.Compression.ZipFile

查看更多
该账号已被封号
4楼-- · 2019-06-20 06:42

in the System.IO.Compression there's no such class as FileSystem check it out the link on the msdn

the classes available are:

  • DeflateStream Provides methods and properties for compressing and decompressing streams by using the Deflate algorithm.
  • GZipStream Provides methods and properties used to compress and decompress streams.
  • ZipArchive Represents a package of compressed files in the zip archive format.
  • ZipArchiveEntry Represents a compressed file within a zip archive.
  • ZipFile Provides static methods for creating, extracting, and opening zip archives.
  • ZipFileExtensions

if your goal is to use compression of file or stream use the GZipStream class.

However remove the FileSystem from the using statement:

using System.IO.Compression;

Anyway as Joe Enos has pointed out classes from the Compression namespace have been taken out the Client Profile from the framework 4.5

Below the Version Information from the msdn about the GZipStream:

.NET Framework Supported in: 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile Supported in: 4, 3.5 SP1

查看更多
我想做一个坏孩纸
5楼-- · 2019-06-20 06:44

The namespace is not the same as the dll name (assembly name). from the MSDN page you linked

Namespace: System.IO.Compression
Assembly: System.IO.Compression.FileSystem (in System.IO.Compression.FileSystem.dll)

So the namespace you need to include is System.IO.Compression not System.IO.Compression.FileSystem. Take off the FileSystem part from your using statement and it will solve your problem.


If people are down-voting me because the OP said "The problem is that the dll is not found." I think the OP is not using the correct word choice, if the problem really was that the DLL could not be found there would be a exclamation point by the assembly name which the original screenshot does not have

See the original image below

Original Image
(click for larger view)

Compare that to my screenshot I created that would show up if the DLL really was not found, note the exclamation point I have that the original screenshot does not.

enter image description here

查看更多
登录 后发表回答