2012-09-27 37 views
0

Possible Duplicate:
How do I create 7-Zip archives with .NET?集成7-ZIP库中的C#.NET应用程序

我们如何在C#.NET应用程序中集成7-ZIP档案库。我正在研究一个需要为存储的zip文件提供一个提取实用程序的应用程序,为此我猜7Zip的DLL会是最好的。

任何人都可以告诉我如何使用它来集成到我的应用程序。我的需要是打开一个按钮的文件打开对话框 - >浏览压缩文件 - >然后解压缩并将文件保存在某个地方。

我试着用SevenZipSharp库,这里是代码:

private void button1_Click(object sender, EventArgs e) 
    { 
     SevenZip.SevenZipExtractor.SetLibraryPath(@"F:\PARADOX\WFAST\WFAST\Res\7z.dll"); 
     SevenZip.SevenZipExtractor ext = new SevenZip.SevenZipExtractor(@"C:\Users\user\Desktop\stitch.zip"); 
     System.IO.Directory.CreateDirectory("C:/Users/user/Desktop/Stitch"); 
     ext.BeginExtractArchive("C:/Users/user/Desktop/Stitch"); 

    } 

,但得到的错误:Can not load 7-zip library or internal COM error! Message: failed to load library.

+1

您可能希望将来重新考虑您的术语 - 您不是“实施”7-zip库 - 您将现有的7-zip库集成到您的应用程序中。您目前的措辞使得它听起来像您将以兼容的方式自己编写存档代码... –

+0

您也可能希望重新考虑使用StackOverflow,因为很明显,在这里没有人读过您的问题最终也没有任何SevenZipSharp的实际操作经验。但是,嘿,至少有五个独立的人花时间将您的问题标记为重复。这显然是我们可以得到的最好回应。 –

回答

-3

如果您正在寻找7zip的,当然只用7 zip文件。我真的不明白为什么会有这样的问题。为什么你需要将它包装在一些.NET应用程序中还不清楚,因为7zip同时拥有一个很好的GUI和命令行界面。

另一方面,如果您真的想编写一个可以处理压缩文件的简单.NET应用程序,您可以从System.IO.Compression命名空间开始,该命名空间已成为.NET标准库的一部分的版本。 http://msdn.microsoft.com/en-us/library/system.io.compression.aspx

+1

但是ZipFile,ZipArchive仅在.NET 4.5或更高版本中可用 – linquize

+0

不能使用它,因为我工作的程序将制作一个可通过.NET的“System.IO.Compression”找到损坏的zip文件。生成的压缩文件将是一种可以轻松地由7zip提取的加密文件,但不能与.NET的压缩库一起使用。 – Cyberpks

+0

好的,然后采取我的第一个建议,并使用7zip,然后管回来。这显然是最好的解决方案,如上面提到的副本中所建议的。请参阅http://stackoverflow.com/questions/206323/how-to-execute-command-line-in-c-get-std-out-results和http://msdn.microsoft.com/en-us/library /system.diagnostics.process.aspx,如果你还需要帮助。 –

相关问题