プロジェクトの 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);
しかし、私はエラーが発生しています:
7-zip ライブラリまたは内部 COM エラーを読み込めません! メッセージ: DLL ファイルが存在しません
しかし、私はすでに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);
}