COM类可见性:C#到VB6

我一方面有一个C#.Net 4.0应用程序,另一方面有一个VB6应用程序。我通过使Project COM Visible和actived寄存器COM Interop创建了一个COM接口。 我通过实现导入新tlb文件的C#应用​​程序来测试COM接口。一切似乎都很好。 下一步我尝试将dll与vb6一起使用。可以加载DLL,但现在我看不到所有公共类。在C#中我看到vb6中的4个类我只能看到3个。 我看不到的类是一个“特殊”类,因为它会触发一个接口并提供事件。 该课程标有
[ComSourceInterfaces(typeof(COMEvents))]
和COMEvents接口就好
[Guid("11947063-4665-4DE1-931D-9915CCD01794")]
[InterfaceType(ComInterfaceType.InterfaceIsIDispatch)]
    public interface COMEvents 
    {
        void MethodOne();
        void MethodTwo();
    }
我不得不说一切都很好。比我添加了一个项目,它只影响COM接口项目在运行时加载的其他程序集。他们实现了一个改变的界面。这是我对com接口所做的唯一更改是向方法添加additonal参数。 为什么我不能再看到班级了?为什么只有我改变的课程,但没有“冒险”的方式? 需要帮助谢谢! P.S: 我一直在努力: - >所有项目都是Build x86 - > x86机器上的项目构建 - > Dependency Walker(GPSVC.DLL和IESHIMS.DLL丢失,但他们之前也做过,我认为他们没有效果导致tlb构建并且可以加载) - > tryied tlbexp.exe但得到依赖项错误导致assambly运行时比当前运行时更新。 WTF?)     
已邀请:
发现它...具有2个参数的构造函数,VB6不支持具有多个零参数的构造函数。     

要回复问题请先登录注册