从Native代码加载CLR dll

时间:2014-07-22 11:22:08

标签: c++ clr native loadlibrary

我正在尝试使用以下代码:

LoadLibraryExA(filename.c_str(), NULL, DONT_RESOLVE_DLL_REFERENCES);

从本机程序集加载C ++ \ CLR dll。 返回的HMODULENULLGetLastError返回 - 193,表示is not a valid win32 application

如何正确加载库?我究竟做错了什么? 谢谢! 罗恩

1 个答案:

答案 0 :(得分:0)

如果这是一个混合模式DLL,如您的注释所示,那么ERROR_BAD_EXE_FORMAT的通常解释是主机进程的位数与DLL的位数不匹配。您正在尝试将32位DLL加载到64位进程中,反之亦然。

如果您有匹配的位数,那么最可能的解释是DLL是托管DLL而不是混合模式DLL。