我创建了一个服务器组件,从System.EnterpriseServices.ServicedComponent继承
也指定了强名称
通过regsvcs可以注册到COM+现在创建客户端应用程序,测试时出现问题,我试过以下几种情况:
1:将组件输出目录设置到应用程序输出目录,添加引用对应dll,
   但却无法找到对应组件的类名,如component.class,提示“找不到类型或命名空间名称component
2:添加引用时选择COM栏中对应已注册的类,错误提示“类型库从CLR程序集导出的,无法将其作为CLR程序集重新导入”
请问我该如何正确测试这个组件?还有我在CompenentService中,手动添加组件,导入时选择组件的dll,系统提示“One or more files do not contain component or type libraries”
为什么这样注册不成功,这与regsvcs注册有什么区别?谢谢了!!!

解决方案 »

  1.   

    请问一下楼主,你在引用com时是不是引用的是tlb文件
    引用这个文件的时候只是引用了dll文件的系统指针并没有对这个文件真正的引用,如果是引用的这个文件出现这个错误是正常的,解决方法是将com的dll文件完全拷贝到引用工程的根目录下,用vb引用com工程时就是因为少了这一步所以会经常地出现这种错误信息
      

  2.   

    当然引用的是DLL文件我使用的是C#
      

  3.   

    regsvcs和手工添加是一个意思,什么区别都没有!
    那么你再查查看你的程序及文件里的配置是不是没有改写
    程序及文件不改写也会出错,不过我记得好像是不改写应该是不能注册才对呀
      

  4.   

    添加引用时不应该是COM栏,既然是用C#写的DLL应该在.NET吧.