目前我正在尝试使用COM测试VB6和.NET的互操作性。 我按照这个简单的例子从COM调用.NET组件 https://msdn.microsoft.com/en-us/library/ms973802.aspx DLL已注册,程序集“已成功添加到缓存”。但是当我看一下VB6的对象浏览器时,我只能看到接口的方法而不是实际的类。 COM设置为可见, KeyFile 的正确路径都在 AssemblyInfo.vb 文件中。 .NET Class + Interface看起来像这样:
Public Interface iTemperature
'some properties and functions
End Interface
Public Class NET_Temperature
Implements iTemperature
'some implemented public properties and functions
End Class
当我尝试运行以下代码时:
Set moTempClass = New PhysServer2.NET_Temperature
Set moTemp = moTempClass
我得到了众所周知的429运行时错误,说通过Active-X组件创建对象不起作用。互联网上有很多关于未注册的DLL / TLB的错误的信息,但我更关心的事实是只有对象的方法和属性显示在对象浏览器中而不是实现的方法/属性界面 - 类。如何修复此错误并使我的类中的方法对COM和对象浏览器可见?