最近将一个用Visual Studio 2003写的托管VC++的dll升级到Visual Studio 2005,之后用C#或VC项目调用这个dll时就发生了一些错误,如"找不到某个模块",或"不是一个有效的win32程序".
查了很多资料,不得其解!
最终的解决方法是注释dll的入口函数,即:
BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}
其原因不得而知!
----------------------------------------------------------------------------------------
出售HP,IBM,SUN小型机,工作站,服务器 电话:010-51280889转1007,MSN:wanglinan1121@hotmail.com