“system.io.compression.zipfile”的类型初始值设定项引发异常错误

问题描述

我想在带有 .NET Framework 4.0.30319 SP1Rel 的 Visual Studio 2010 中使用以下代码创建一个 zip 文件。我在 Windows XP Pro SP3 上运行它。

System.IO.Compression.ZipFile.CreateFromDirectory("C:\TargetFolder","C:\destination.zip")

最初出现错误,因为缺少类 Compression.ZipFile。在线检查后,我已经为 Compression、Compression.FileSystem 和 Compression.ZipFile 完成了“添加参考”。所以,后来,编译/构建时没有错误

当我运行程序并执行命令时,出现以下错误

“System.IO.Compression.Zipfile”的类型初始值设定项引发异常。在 System.IO.Compression.ZipFile.CreateFromDirectory(String sourceDirectoryName,String destinationArchiveFileName)

然后我在 Visual Studio 2010 和 .NET Framework 版本 4.8.04084 SP1Rel 上尝试了相同的代码,但没有发生这样的错误。 请帮忙。

解决方法

鉴于 ZipFile 类直到 .NET Framework 4.5 才被引入,根据 the documentation,任何面向早期版本的应用程序都将无法使用它。

,

它需要框架 4.5 及以上。如果您想要 .net framework 4.0 中的 zip 文件,请使用 shell。这可能对你有用 https://www.codeproject.com/Tips/257193/Easily-Zip-Unzip-Files-using-Windows-Shell