你在编译Active DLL时,没有按照二进制兼容的方式编译。这样就不会发生上面的情况了。因为VB没有办法自己编写类型库,你所有定义的Public的函数、枚举类型等都会成为类型库的一部分,如果不选择按照兼容的方式就编译的话,那么借口ID或者函数的ID就会发生变化。而VB工程中的引用时根据Component的GUID,如果这个都发生变化了,自然找不到了。VB的工程属性中有关于兼容方式的设定,有三种方式:不兼容、工程兼容、二进制兼容。