将 7-zip 库集成到 C#.NET 应用程序中[重复]
Posted
技术标签:
【中文标题】将 7-zip 库集成到 C#.NET 应用程序中[重复]【英文标题】:Integrating 7-zip library in to a C#.NET application [duplicate] 【发布时间】:2012-09-27 05:52:44 【问题描述】:可能重复:How do I create 7-Zip archives with .NET?
我们如何将 7-zip 归档库集成到 C#.NET 应用程序中。我正在开发一个需要为存储的 zip 文件提供提取实用程序的应用程序,我猜 7Zip 的 DLL 将是最好的。
谁能告诉我如何使用它来集成到我的应用程序中。我的需要是单击按钮打开 Fileopen 对话框->浏览 zip 文件->然后将其解压缩并将文件保存在某处。
我尝试使用 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.
【问题讨论】:
您可能希望将来重新考虑您的术语 - 您不是在“实现” 7-zip 库 - 您正在将现有的 7-zip 库集成到您的应用程序中。您目前的措辞方式听起来像是您自己在以兼容的方式编写归档代码...... 您可能还希望重新考虑使用 ***,因为很明显这里没有人将您的问题读到最后,也没有任何使用 SevenZipSharp 的实践经验。但是,嘿,至少有五个不同的人花时间将您的问题标记为重复。这显然是我们能得到的最好的回应。 【参考方案1】:如果您正在寻找 7zip,当然只需使用 7 zip。我真的不明白怎么会有一个问题。为什么需要将它包装在一些 .NET 应用程序中尚不清楚,因为 7zip 既有漂亮的 gui 又有命令行界面。
另一方面,如果您确实想编写一个可以处理压缩文件的简单 .NET 应用程序,您可以从 System.IO.Compression 命名空间开始,它已成为许多 .NET 标准库的一部分。发布。 http://msdn.microsoft.com/en-us/library/system.io.compression.aspx
【讨论】:
但 ZipFile、ZipArchive 仅在 .NET 4.5 或更高版本中可用 不能使用它,因为我正在使用的程序会生成一个 .NET 的System.IO.Compression
可以发现损坏的 zip 文件。生成的 zip 文件将是一种加密文件,可以通过 7zip 轻松提取,但不能使用 .NET 的压缩库。
好的,然后接受我的第一个建议并使用 7zip,然后重新输入。这显然是最好的解决方案,正如上面提到的副本中所建议的那样。如果您也需要帮助,请参阅 ***.com/questions/206323/… 和 msdn.microsoft.com/en-us/library/…。以上是关于将 7-zip 库集成到 C#.NET 应用程序中[重复]的主要内容,如果未能解决你的问题,请参考以下文章
将 HttpModule .Net 类库移植到 .Net Core Web API
使用 .NET Core 将来自第三方 API 的数据集成到本地数据库
是否可以将 Microsoft.Extensions.Configuration 库与 ASP.NET 5 集成?