压缩和提取与SevenZipSharp

本文关键字:SevenZipSharp 提取 压缩 | 更新日期: 2023-09-27 18:17:41

我正试图用SevenZipSharp压缩和提取文件,但我得到以下错误:

无法加载7-zip库或内部COM错误!消息:failed to load library.

我代码:

string extractFrom = @"C:'Test'Test.7z";
string extractTo = @"C:'Test2";
string compressFrom = @"C:'Test2";
string compressTo = @"C:'Test'Test2.7z";
SevenZipBase.SetLibraryPath(@"C:'Program Files'7-Zip'7z.dll");
SevenZipCompressor compressor = new SevenZipCompressor();
compressor.CompressionMode = CompressionMode.Create;
compressor.TempFolderPath = Path.GetTempPath();
compressor.ArchiveFormat = OutArchiveFormat.SevenZip;
compressor.CompressDirectory(compressFrom, compressTo);//Error
SevenZipExtractor extractor = new SevenZipExtractor(extractFrom);
extractor.ExtractArchive(extractTo);//Error

错误在:

compressor.CompressDirectory(compressFrom, compressTo);
在:

extractor.ExtractArchive(extractTo);

我该如何解决这个问题?

压缩和提取与SevenZipSharp

最明显的答案是:dll不在给定的路径。

但是我假设你已经尝试过了,但是如果你混合32位和64位应用程序,这也是一个已知的问题。因此,如果您的应用程序运行32位,并且7zip安装为x64,则会抛出此错误。

请注意:无法添加.dll的引用。请确保该文件是可访问的,并且它是有效的程序集或COM组件