【发布时间】:2014-08-31 05:27:19
【问题描述】:
我有一个 COM 可调用包装器,它一直工作到现在。
现在,当我尝试编译依赖于它的 VB6 应用程序时,出现“未定义用户定义类型”错误。发生变化的事情包括 COM Callable Wrapper 从 .Net Framework 2 移动到 4,我现在使用的是 VS2013 而不是 VS2010。代码有一些变化,但我认为没有任何变化。
当我查看 oleview.exe 中生成的 typelib 并将其与以前的版本进行比较时,我看到命名空间(带下划线)已被添加到我的两个 coclass 中,因此我现在拥有 coclass CompanyName_Compatibility_Field 之前的位置只是coclass Field 我认为这是我的问题的原因。
我一直有对经典 ADODB 主互操作程序集的引用,但现在我在生成的 typelib 中有一个 importlib("msado15.dll"); 语句,以前我没有,并且 typelib 现在包含许多 ADODB 枚举类型的枚举定义,以前它没有。
ADODB 是现在将命名空间添加到我的 Field 对象之前的原因吗?有没有办法可以防止这种情况并从类型库中排除 ADODB 内容?
【问题讨论】:
标签: .net vb.net com vb6 visual-studio-2013