我有一个托管 dll 文件,它将函数从 C++ dll 导入到托管环境。我在程序中使用了它的一些函数,但问题是,当我使用它时出现此错误:
无法加载 DLL“Libraries\lib.dll”:找不到指定的模块。 (HRESULT 异常:0x8007007E)
我将 .dll 文件放置在程序目录和 system32 文件夹中。然而,它仍然不起作用。我想我必须使用 DLLImport 但我不知道如何使用它..即使在看了一些例子之后我仍然很困惑。有人可以帮我吗?
You say:
我将 .dll 文件放在程序的目录中...
But:
无法加载DLL'库\lib.dll'
我们需要看看你的DLLImport
属性创建,即本机方法的 C# 签名。在我看来,您可能指定了路径,即
[DllImport( "Libraries\lib.dll" )];
static extern void MyNativeMethod();
尝试使用这个代替:
[DllImport( "lib.dll" )];
static extern void MyNativeMethod();
这将搜索运行目录以及您的PATH
环境变量。如果您像您一样指定文件路径,我真的不知道它是否会搜索PATH
如果找不到该文件(我在the docs).
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)