如何防止VisualStudio将名称空间添加到TypeLib coclass名称?

时间:2014-07-10 02:02:19

标签: .net vb.net com vb6 visual-studio-2013

我有一个COM Callable Wrapper,到目前为止一直在运行。

现在,当我尝试编译依赖于它的VB6应用程序时,我得到了“用户定义的类型未定义”错误。已经改变的事情包括将COM Callable Wrapper从.Net Framework 2移到4并且我现在使用的是VS2013而不是VS2010。代码有一些变化,但没有一个我可以看作负责。

当我查看oleview.exe中生成的类型库并将其与之前版本进行比较时,我看到命名空间(带有下划线)已经预先添加到我的两个coclass中,以便我现在拥有coclass CompanyName_Compatibility_Field之前的位置我刚才coclass Field,我认为这是我遇到问题的原因。

我一直有对经典ADODB主互操作程序集的引用,但现在我在生成的类型库中有一个importlib("msado15.dll");语句,之前我没有,而typelib现在包含许多ADODB枚举类型的枚举定义,其中以前它没有。

ADODB是为什么命名空间现在被添加到我的Field对象的原因,有没有办法可以防止这种情况并从类型库中排除ADODB内容?

1 个答案:

答案 0 :(得分:0)

我更改了ADODB引用的嵌入互操作类型属性和Active Reports引用(也有Field对象),现在我的VB6应用程序已编译。 我承认我不知道这个属性。在从框架2移动到4之后重新添加一些引用时,它必须已经改变。