我刚刚从http://www.rarlab.com/rar_add.htm包下载了UnRAR.dll包含C#示例项目,当我在VS 2010中运行后选择.rar文件进行提取我收到以下错误消息
当我添加引用unrar.dll时,我收到以下错误
请帮助/指出我缺少的东西?
答案 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文件夹或者一个 项目运行的文件夹。