Comment extraire un fichier avec sevenzipsharp

Je vais extraire des fichiers sur USB à partir du fichier ISO avec sevenzipsharp. Pour cela, je télécharge sevenzipsharp depuis le gestionnaire de paquets de nuget et j’ai codé (en fait, je ne pouvais pas :)) ce code. Je ne prends aucune erreur mais cela ne fonctionne pas. Où est-ce que je fais des erreurs? S’il vous plaît écrivez les détails.

if (IntPtr.Size == 8) //x64 { SevenZip.SevenZipExtractor.SetLibraryPath(@"C:\Program Files\7-Zip\7z.dll"); } else //x86 { SevenZip.SevenZipCompressor.SetLibraryPath(@"C:\Program Files (x86)\7-Zip\7z.dll"); } using (var file = new SevenZipExtractor(sourcePath)) { file.ExtractArchive(outputPath); } 

Merci d’avance

Pour x86, vous SevenZip.SevenZipCompressor.SetLibraryPath alors que vous vouliez probablement faire SevenZip.SevenZipExtractor.SetLibraryPath .

 class Program { const ssortingng zipFile = @"D:\downloads\price.zip"; static void Main(ssortingng[] args) { using (Stream stream = File.OpenRead(zipFile)) { ssortingng dllPath = Environment.Is64BitProcess ? Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "7z64.dll") : Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "7z.dll"); SevenZipBase.SetLibraryPath(dllPath); Extract(stream); } } static void Extract(Stream archiveStream) { using (SevenZipExtractor extr = new SevenZipExtractor(archiveStream)) { foreach (ArchiveFileInfo archiveFileInfo in extr.ArchiveFileData) { if (!archiveFileInfo.IsDirectory) { using (var mem = new MemoryStream()) { extr.ExtractFile(archiveFileInfo.Index, mem); ssortingng shortFileName = Path.GetFileName(archiveFileInfo.FileName); byte[] content = mem.ToArray(); //... } } } } } }