2012-11-14 118 views
3

我需要一些幫助來解決我的vb.net編程問題,因爲我試圖解壓RAR壓縮文件。我在VB.NET中使用了針對VS2012的Chilkat的最新版本,但它不包含Chilkat.RAR方法。我曾嘗試使用unrar.dll v3.9.3,但無法將該參考添加到我的項目中,因爲它與VS2012不兼容。它說DLL不是一個有效的程序集並檢查並確保它是一個有效的程序集。我只需要一些可以取消RAR存檔的東西(不需要密碼方法,最好只有一個文件,而不是目錄中的所有文件)。這必須與.net framework 4.0 AND/OR 4.5兼容,並且必須能夠在Microsoft Visual Studio 2012 Pro(VB.NET環境)中引用。在vb.net和vs2012中unrar a RAR壓縮文件的DLL文件

+2

看看http://sevenzipsharp.codeplex.com/我就沒有學分生存。 – Steve

+0

也http://dotnetzip.codeplex.com/。只是要問。你正在編譯你的應用程序的AnyCPU平臺?你有沒有用x86平臺試過unrar.dll? – Steve

+0

是啊請確保你沒有嘗試使用x64版本,當你需要x86或反之亦然,並確保你下載的版本匹配你的.net版本 – Jay

回答

3

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不應該在註釋中聲明它。

+0

是的,但是這個版本的奇爾卡特不支持vb.net中的RAR:http://www.chilkatsoft.com/download/ChilkatDotNet45-9.3.2-win32.msi –

+0

此外,sharpcompress看起來像它會做的工作!謝謝您的幫助! –

+0

我們在服務器端的windows服務中使用sevenzipsharp。如果服務運行超過兩週而不重新啓動,它開始非常緩慢地工作。通常需要30秒的壓縮可能需要15分鐘。服務重新啓動後,它再次正常工作。我們將嘗試sharpcompress。 –

0

SharpCompress是一個.NET/Mono/Silverlight/WP7壓縮庫,可以unrar,un7zip,unzip,untar unbzip2和ungzip提供正向閱讀和文件隨機訪問API。寫支持zip/tar/bzip2/gzip被實現。

主要功能是支持不可查找的流,因此大文件可以即時處理(即下載流)。

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