C# 无法加载DLL';unrr.DLL';:找不到指定的模块

C# 无法加载DLL';unrr.DLL';:找不到指定的模块,c#,reference,unrar,C#,Reference,Unrar,我刚刚从package includes C#示例项目下载了unrr.dll,当我在VS2010中运行时,在选择.rar文件作为摘录后,我得到下面的错误消息 当我添加引用unrr.dll时,我得到以下错误 请帮助/指出我缺少什么?unar.dll不是.NET程序集,因此不能用作项目引用 它是一个本机DLL,因此您必须使用p/Invoke来访问它的方法,或者围绕它编写一个C++/CLI包装器 其中的一些示例代码应该提供了一个不错的起点,并展示了必要的方法 项目中似乎还包括一个相当完整的项目

我刚刚从package includes C#示例项目下载了unrr.dll,当我在VS2010中运行时,在选择.rar文件作为摘录后,我得到下面的错误消息

当我添加引用unrr.dll时,我得到以下错误


请帮助/指出我缺少什么?

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

它是一个本机DLL,因此您必须使用p/Invoke来访问它的方法,或者围绕它编写一个C++/CLI包装器

其中的一些示例代码应该提供了一个不错的起点,并展示了必要的方法

项目中似乎还包括一个相当完整的项目



还应注意的是,它包括对这种开箱即用的支持。我自己没有用过,但它可能值得检查。

您正在谈论的示例使用

[DllImport("unrar.dll")]
访问库中的函数

此DLL应在测试项目运行时可见。
因此,您应该将其复制到BIN\DEBUG文件夹或
您的项目运行的文件夹。

您可能想考虑如何将DLL导入到他的项目中。@ DeavangSeEV -添加了一个指向其他人访问UNARR .DLL.M.BabCoCK的代码的链接。谢谢。“unrr.dll”应该在BIN\DEBUG文件夹中,我刚刚复制了.dll,但是如果我从BIN\DEBUG编译并运行.exe,它工作正常,但如果我调试它,在尝试运行项目时出现“抛出错误”错误,则无法加载文件或程序集“unrr”或它的一个依赖项。模块应包含可装配清单" ... 如果我从BIN\DEBUG中删除.dll,项目将在调试模式下运行,抛出与我附加的图片相同的错误,我只是复制了.dll,但如果我从BIN\DEBUG编译并运行.exe,则其工作正常,但如果我调试其抛出错误“尝试运行项目时出错无法加载文件或程序集‘unrr’或其依赖项之一。该模块应包含可装配清单”…如果我从BIN中删除.dll\DEBUG,则项目在调试模式下运行时会引发与我附加图片相同的错误我不确定,但我刚刚在电脑上尝试过,出现问题,因为”Unrr.dll”是一个32位的项目。该项目的默认值为AnyCPU,我的操作系统为Win64位。因此,该dll不会加载BadImageFormatException。更改为x86配置,一切正常运行。