3

在尝试解压缩 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 环境)中引用。

4

2 回答 2

4

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 不应在评论中说明它。

于 2012-11-15T06:00:44.813 回答
1

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

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

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

于 2013-12-01T03:56:02.620 回答