我的程序原来有个dll文件,我现在修改了那个dll,然后替换原由的那个dll文件以后,出现“类不自动化配置”,然后跳出!帮帮我…………

解决方案 »

  1.   

    我的那个dll文件就只有一个属性啊!到了引用时候就出现这个问题了
    我更新时是不是覆盖dll文件时就可以了?
      

  2.   

    更新时应该先 regsvr32 /u 旧dll文件名(反注册dll)
    然后覆盖(如果不能覆盖,被调用驻留内存则要重新启动),再 regsvr32 新dll文件名(注册新dll)
      

  3.   

    因为修改后重新生成时,CLSID改变了,而EXE文件是根据旧的CLSID来引用DLL的,改变后它当然不能识别了.
    要保证修改后还能使用可以这样做:
    工程-xxx属性-部件-版本兼容(选二进制兼容,再选择原文件)-确定然后再编译的时候就会使用原来的CLSID了,值得注意的是:原来的DLL中的函数/过程等的函数名及接口等必须不变,为的是保证原来的程序能正确调用.
      

  4.   

    因为CLSID不变,因此修改后只须直接覆盖原文件即可,无须再重新注册.