我的dll中要用到第三方的dll:thd.dll。我自己的dll名称是:insu.dll.开发成功后,在我的开发机器上程序运行正常。insu.dll的使用者是c#程序。当我把我的程序部署到用户计算机时,报错:加载thd.dll 失败,错误代码是126.我把thd.dll放到应用程序的路径下,windows默认路径下都是报不能加载 thd.dll 的错误。insu.dll 中的部分代码如下 :
 hinstance HDLL;
 HDLL=LoadLibrary("thd.ll);
 if(HDLL==null)
 {
   报错代码
   DWORD er=getlasterror();
   (...er=126) }
我感到很困惑,为什么在我开发机器上允许正常,而在用户计算机上不行呢?我把thd.dll加了特定路径也依然如故。我开发环境是:.net 2003 windows 2000 profession.用户计算机是 windows 2000 professional .请高手帮忙。

解决方案 »

  1.   

    用户机器上是否装有.net运行平台?
      

  2.   

    这个问题是因为找不到指定的模块,你使用“regsvr32 /u .dll”命令来卸载你的DLL文件,重新启动计算机后再再用“regsvr32 xxx.dll”命令重新注册试一下。
      

  3.   

    HDLL=LoadLibrary("thd.ll);
    文件名写错了,应该是:
    HDLL=LoadLibrary("thd.dll");
      

  4.   

    1、组件没有注册?
    2、DLL是动态连接的,而用户机器上没装.net运行库
      

  5.   

    问题解决了,是thd.dll还有依赖的dll,把依赖的dll拷贝到程序目录下就可以了。谢谢大家。