gpt4 book ai didi

c# - 我正在尝试使用 SevenZipSharp 压缩一些文件但出现错误

转载 作者:太空狗 更新时间:2023-10-29 23:08:27 28 4
gpt4 key购买 nike

我在我的项目中引用了 dll 文件:SevenZipSharp.dll

然后在 Form1 的顶部添加:

using SevenZip;

然后我创建了一个从按钮点击事件中调用的函数:

private void Compress()
{
string source = @"C:\Users\bout0_000\AppData\Local\Diagnostic_Tool_Blue_Screen\Diagnostic Tool Blue Screen\SF_02-08-13";
string output = @"D:\Zipped.zip";

SevenZipCompressor compressor = new SevenZipCompressor();
compressor.ArchiveFormat = OutArchiveFormat.Zip;
compressor.CompressionMode = CompressionMode.Create;
compressor.TempFolderPath = System.IO.Path.GetTempPath();
compressor.CompressDirectory(source, output);
}

我打了个断点,错误就在这行:

compressor.CompressDirectory(source, output);

但是我得到一个错误:

Cannot load 7-zip library or internal COM error! Message: DLL file does not exist

但是我已经引用了dll,那么为什么会出现这个错误呢?我该如何解决?

解决了问题:

private void Compress()
{
string source = @"C:\Users\bout0_000\AppData\Local\Diagnostic_Tool_Blue_Screen\Diagnostic Tool Blue Screen\SF_02-08-13";
string output = @"D:\Zipped.zip";
SevenZipExtractor.SetLibraryPath(@"C:\Program Files\7-Zip\7z.dll");
SevenZipCompressor compressor = new SevenZipCompressor();
compressor.ArchiveFormat = OutArchiveFormat.Zip;
compressor.CompressionMode = CompressionMode.Create;
compressor.TempFolderPath = System.IO.Path.GetTempPath();
compressor.CompressDirectory(source, output);
}

最佳答案

您可能缺少所需的内部 COM 组件。如果您检查 InnerException,它应该会让您清楚地知道缺少什么。将这些复制到您的工作目录,您应该已设置好。

关于c# - 我正在尝试使用 SevenZipSharp 压缩一些文件但出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18029111/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com