无法加载DLL' UNRAR.DLL':找不到指定的模块

时间:2012-03-12 21:04:10

标签: c# reference unrar

我刚刚从http://www.rarlab.com/rar_add.htm包下载了UnRAR.dll包含C#示例项目,当我在VS 2010中运行后选择.rar文件进行提取我收到以下错误消息

Unable to load 'UNRAR.DLL'

当我添加引用unrar.dll时,我收到以下错误

unrar.dll could not be loaded

请帮助/指出我缺少的东西?

2 个答案:

答案 0 :(得分:5)

UnRAR.dll不是.NET程序集,因此不能用作项目引用。

它是一个本机DLL,因此您必须使用P / Invoke访问其方法或在其周围编写C ++ / CLI包装。

this MSDN forum thread中有一些示例代码可以提供一个不错的起点并显示必要的方法。

wrapper项目中似乎还包含相当完整的Blue Mirror CD/DVD Indexer


还应该注意SevenZipSharp包括对这种开箱即用的支持。我自己没有用过,但可能值得一试。

答案 1 :(得分:2)

您正在谈论的样本使用

[DllImport("unrar.dll")]

访问库内的函数。

当测试项目运行时,此DLL应该可见 所以你应该把它复制到BIN \ DEBUG文件夹或者一个 项目运行的文件夹。