7

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

文件

.net framework版本是4.5,os是64,问题是找不到dll。 配置 解决办法是什么?

4

4 回答 4

17

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

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

所以你需要包含的命名空间System.IO.Compression不是System.IO.Compression.FileSystem. FileSystem从您的陈述中删除部分using,它将解决您的问题。


如果人们因为 OP 说“问题是找不到 dll”而对我投了反对票。我认为 OP 没有使用正确的单词选择,如果问题真的是找不到 DLL,那么原始屏幕截图中没有的程序集名称会有一个感叹号

请看下面的原图

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

将其与我创建的屏幕截图进行比较,如果确实找不到 DLL,则会显示该屏幕截图,请注意我有原始屏幕截图没有的感叹号。

在此处输入图像描述

于 2013-05-31T15:39:00.230 回答
4

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

可用的课程有:

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

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

但是从 using 语句中删除 FileSystem:

using System.IO.Compression;

无论如何,正如 Joe Enos 所指出的,压缩命名空间中的类已从框架 4.5 中取出客户端配置文件

在来自 msdn 的有关 GZipStream 的版本信息下方:

.NET Framework 支持:4.5、4、3.5、3.0、2.0

.NET Framework 客户端配置文件受以下版本支持:4、3.5 SP1

于 2013-05-31T15:33:52.127 回答
2

一个新的 nuget 包即将问世。看一下这个 :)

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

于 2015-05-04T21:55:34.347 回答
-3

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

于 2016-09-01T07:48:37.283 回答