我用C#编写了一个Com+组件,已经手工安装在组件服务里面.并且用asp,以及vbscript测试函数接口没有任何问题.但是现在用Vc++6.0引用的时候,提示加载类型错误!
不知道出了什么问题,各位帮帮忙

解决方案 »

  1.   

    #import "C:\\bin\\mytest.dll" no_namespace
      

  2.   

    try
    tlbexp C:\\bin\\mytest.dll /out:mytest.tlb
    #import "c:\\bin\\mytest.tlb" raw_interfaces_only
      

  3.   

    Tlbexp.exe 生成一个类型库,该类型库包含程序集中定义的类型的定义。应用程序(如 Visual Basic 6.0)可以使用生成的类型库绑定到程序集中定义的 .NET 类型。整个程序集立即被转换。不能使用 Tlbexp.exe 生成程序集中定义的类型子集的类型信息。不能使用 Tlbexp.exe 从使用类型库导入程序 (Tlbimp.exe) 导入的程序集生成类型库。相反,应该引用由 Tlbimp.exe 导入的原始类型库。可以从一个程序集导出类型库,该类型库引用使用 Tlbimp.exe 导入的程序集。请参见下面的示例章节。Tlbexp.exe 将生成的类型库放到当前工作目录中或为输出文件指定的目录中。一个程序集可能会导致生成若干个类型库。Tlbexp.exe 生成类型库,但不注册它。这与程序集注册工具 (Regasm.exe) 不同,后者生成并注册类型库。若要使用 COM 生成和注册类型库,请使用 Regasm.exe。由于类型库无法容纳在程序集中找到的所有信息,因此在导出过程中 Tlbexp.exe 可能会放弃一些数据。有关对转换过程的说明和发出到类型库中的每条信息的源的标识,请参见有关从程序集转换到类型库的摘要。
      

  4.   

    我大致明白了一点意思,.net程序编写的应用程序基于.NET 公共语言运行库 (CLR)的. 所以如果想使用COM+调用.net编译出来的DLL必须经过相应的转换.所以我们把类型库导出程序生成一个Com+类型库提供给其他应用程序调用??