Com 为什么VB6中没有intellisense?

Com 为什么VB6中没有intellisense?,com,vb6,Com,Vb6,我在VS2012中用C#编写了一个DLL: namespace COMTest { public class MyClass { public int Fun() { return 3; } } } 然后我设置“makeassemblycomvisible=True”,并在构建页面中设置“registercomforinterhop”。然后创建一个新的VB6项目,添加对生成的dll文件的引用,但失败

我在VS2012中用C#编写了一个DLL:

namespace COMTest
{
    public class MyClass
    {
        public int Fun()
        {
            return 3;
        }
    }
}
然后我设置“makeassemblycomvisible=True”,并在构建页面中设置“registercomforinterhop”。然后创建一个新的VB6项目,添加对生成的dll文件的引用,但失败……稍后尝试tlb文件成功,但在说出“a.”(无“乐趣”提示)后没有intellisense

因此,我的问题是:

1)为什么我必须引用tlb文件而不是dll文件?
2) 为什么没有intellisense?

尝试在以下内容中打勾:

Tools->Options->Editor->Auto List Members
如果这没有帮助,那么要解决此问题,请使用要在TLB中公开的方法和属性定义公共接口,然后在类中实现该接口。另外,将
ClassInterface(ClassInterfaceType.None)
属性添加到类中。在开发组件时,可以使用这种方法来避免使用
ComVisible(False)
属性


你可以有更多的细节

那么你能告诉我为什么直接引用“tlb”而不是“dll”吗?按照提供的链接了解更多细节我阅读了链接,但我仍然不知道为什么我应该使用tlb而不是dll……:(tlb是类型库,其中包含组件中对象接口的描述。dll包含组件中对象的实际实现。给定此信息,您认为intellisense将使用哪些文件?:)
Tools->Options->Editor->Auto List Members