c#程序中的System.IO.Compression.FileSystem.dll

我想在我的项目中使用dll System.IO.Compression.FileSystem.dll

文件

.net框架版本是4.5,操作系统是64.问题是找不到dll。 配置 解决办法是什么?

命名空间与dll名称(程序集名称)不同。 从您链接的MSDN页面

命名空间 :System.IO.Compression
程序集 :System.IO.Compression.FileSystem(在System.IO.Compression.FileSystem.dll中)

因此,您需要包含的名称空间是System.IO.Compression而不是System.IO.Compression.FileSystem 。 从using语句中取出FileSystem部分,它将解决您的问题。


如果人们向我投票,因为OP说“问题在于找不到dll”。 我认为OP没有使用正确的单词选择,如果问题确实是找不到DLL,那么原始截图没有的程序集名称会有一个惊叹号

请参阅下面的原始图像

原始图像
(点击查看大图)

比较我创建的屏幕截图,如果找不到DLL,请注意我原来的屏幕截图没有的感叹号。

在此处输入图像描述

在System.IO.Compression中没有像FileSystem这样的类检查msdn上的链接

可用的课程是:

  • DeflateStream使用Deflate算法提供压缩和解压缩流的方法和属性。
  • GZipStream提供用于压缩和解压缩流的方法和属性。
  • ZipArchive表示zip存档格式的压缩文件包。
  • ZipArchiveEntry表示zip存档中的压缩文件。
  • ZipFile提供用于创建,提取和打开zip存档的静态方法。
  • ZipFileExtensions

如果您的目标是使用压缩文件或流,请使用GZipStream类。

但是从using语句中删除FileSystem:

 using System.IO.Compression; 

无论如何,Joe Enos已经指出Compression命名空间中的类已经从框架4.5中取出了Client Profile

在msdn关于GZipStream的版本信息下面:

.NET Framework受以下版本支持:4.5,4,3.5,3.0,2.0

.NET Framework Client Profile受以下版本支持:4,3.5 SP1

一个新的nuget包即将推出。 看一下这个 :)

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

添加对System.IO.Compression.dll的引用为我解决了这个问题。