使用SevenZipSharp进行压缩和解压缩

3
我将尝试使用SevenZipSharp压缩和提取文件,但是我遇到了以下错误:

无法加载7-zip库或内部COM错误!消息:加载库失败。

我的代码:
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);

我应该如何解决这个问题?
1个回答

1

1
我尝试了32位和64位,但两者都无法工作。 - daniel59
SevenZipSharp 基本上只是 COM 对象的包装器 - 因为出现了该错误,我建议您阅读来自所引用的 SO 问题的答案(和链接)。 - Leon
2
我刚刚发现了我的错误:我使用的是 .Net 4.5.2,但 SevenZipSharp 只兼容到 .Net 4.0。 - daniel59
@daniel59:我也使用SevenZipSharp,但我的项目使用的是.Net 4.5.2,所以在你的情况下可能有其他原因。 - Tobias Knauss

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接