我有一个托管 dll 文件,它将函数从 C++ dll 导入托管环境。我在我的程序中使用了它的一些功能,但问题是,当我使用它时出现这个错误:
无法加载 DLL ‘Libraries\lib.dll’:找不到指定的模块。 (来自 HRESULT 的异常:0x8007007E)
我将 .dll 文件放在程序目录和 system32 文件夹中。但是,它仍然不起作用。我想我必须使用 DLLImport 但我不知道如何使用它.. 即使看了一些例子我仍然感到困惑。有人可以在这里帮助我吗?
原文由 dnclem 发布,翻译遵循 CC BY-SA 4.0 许可协议
你说:
但:
我们需要看到你的
DLLImport
属性创建,即native方法的C#签名。在我看来,您可能指定了路径,即尝试改用这个:
这将搜索运行目录以及您的
PATH
环境变量。如果您像您一样指定文件路径,老实说,如果找不到文件(我在 文档 中找不到提及),我真的不知道它是否会搜索PATH
。