我有VB6 Dll,我在vb.net中引用,我在其中调用以下函数。它在开发环境中工作正常,但在部署环境中却没有。
错误:
找不到方法:'Boolean MyUtils._MyUtils.LoadMyObjectRecords(ADODB.Stream ByRef,System.Array ByRef)'。
等待你宝贵的想法
谢谢
答案 0 :(得分:1)
您是否设置了二进制兼容性?
每次编译使用VB6创建的COM组件时,都会为组件创建新的GUID。 GUID和CLSID是从注册表中标识COM组件的那些。为避免这种二进制兼容性是必要的。有关详细信息,请阅读此MSDN blog。
答案 1 :(得分:0)
您的两个环境中是否安装了相同版本的DLL?
答案 2 :(得分:0)
MDAC(Microsoft数据访问组件)是否在部署环境中使用与开发环境中相同的版本安装?
MS的最新版本是2.8,IIRC:http://www.microsoft.com/downloads/details.aspx?FamilyID=6c050fe3-c795-4b7d-b037-185d0506396c&displaylang=en
答案 3 :(得分:0)
我几乎不想问这个问题,但是在已部署的计算机上注册了COM DLL吗?