【问题标题】:DLL file to unrar a RAR archive in vb.net and vs2012用于在 vb.net 和 vs2012 中解压缩 RAR 存档的 DLL 文件
【发布时间】:2012-11-03 13:49:12
【问题描述】:

在我尝试解压缩 RAR 存档时,我需要一些关于我的 vb.net 编程的帮助。我在 VB.NET 中有来自 Chilkat 的 VS2012 的最新版本,但它不包含 Chilkat.RAR 方法。我曾尝试使用 unrar.dll v3.9.3,但我无法将引用添加到我的项目,因为它与 VS2012 不兼容。它说 DLL 不是一个有效的程序集,并检查并确保它是一个有效的程序集。我只需要可以解压缩 RAR 存档的东西(不需要密码方法,最好只有 1 个文件,而不是目录中的所有文件)。这必须与 .net framework 4.0 AND/OR 4.5 兼容,并且必须能够在 Microsoft Visual Studio 2012 Pro(VB.NET 环境)中引用。

【问题讨论】:

  • 看看sevenzipsharp.codeplex.com 没有学分我也能活下来。
  • 还有dotnetzip.codeplex.com。只是问。您是否正在为 AnyCPU 平台编译您的应用程序?你试过x86平台的unrar.dll吗?
  • 是的,请确保您在需要 x86 时不要尝试使用 x64 版本,反之亦然,并确保下载与您的 .net 版本匹配的版本
  • 我已经尝试了 x86 系统的 unrar.dll,但它不起作用。在 x64 dll 上也是如此。我的应用是在 vs2012 中创建的,使用 vs2012 制作的任何东西都只能在 w7 或更高版本上运行。

标签: .net vb.net dll visual-studio-2012 rar


【解决方案1】:

来自 RARLAB (http://www.rarlab.com/rar_add.htm) 的 Unrar.dll 是一个本地库,因此您不能将其作为参考添加到 VB.NET 项目中。您必须使用 Platform Invoke 来使用它的 API,这就是 Chilkat 的 RAR 库所基于的。

如果您想要托管库,可以查看http://sharpcompress.codeplex.com

Sevenzipsharp.codeplex.com 基于 7-zip 的原生库,因此声称支持 RAR 格式。

dotnetzip.codeplex.com 是托管 ZIP 库,不支持 RAR,@Steve 不应在评论中说明。

【讨论】:

  • 是的,但是这个版本的 chilkat 不支持 vb.net 中的 RAR:chilkatsoft.com/download/ChilkatDotNet45-9.3.2-win32.msi
  • 另外,sharpcompress 看起来可以完成这项工作!感谢您的帮助!
  • 我们在服务器端 Windows 服务中使用了 Sevenzipsharp。如果服务运行超过两周而没有重新启动,它开始工作非常非常缓慢。通常需要 30 秒的压缩可能需要 15 分钟。服务重新启动后,它再次正常工作。我们将尝试使用sharpcompress。
【解决方案2】:

SharpCompress 是一个适用于 .NET/Mono/Silverlight/WP7 的压缩库,可以解压缩、解压缩、解压缩、解压缩 unbzip2 和 ungzip,具有只进读取和文件随机访问 API。实现了对 zip/tar/bzip2/gzip 的写支持。

主要功能是支持不可搜索的流,因此可以动态处理大文件(即下载流)。

现在在 GitHub 上:https://github.com/adamhathcock/sharpcompress

【讨论】:

    猜你喜欢
    • 2022-12-10
    • 2013-08-14
    • 2011-12-26
    • 2011-03-04
    • 2018-06-10
    • 2022-12-21
    • 2015-05-05
    • 2014-12-15
    • 2013-05-12
    相关资源
    最近更新 更多