none
关于C#使用C#写的tlb RRS feed

  • 问题

  • Server端我用C#写了一个进程外的COM,用regasm out-of-process.exe /tlb: out-of-process.tlb

     

    Client端应用这个tlb的时候提示:

    ==================================================================

    未能添加对“Out-of-Process”的引用。

    ActiveX 类型库“Out-of-Process.tlb”是从 .NET 程序集导出的,无法将其作为引用添加。

    请改为添加对 .NET 程序集的引用。

    ==================================================================

     

    Client端我怎么调用这个进程外的Com呢,用反射是可以调用的,但到只能用不是.NET写的tlb才可以引用?

    2008年12月13日 4:31

答案

全部回复

  • RegAsm不会生成支持进程外调用的COM注册信息。你可以把组件改写成DOM,之后手动注册,参考http://blogs.msdn.com/adioltean/archive/2004/06/18/159479.aspx
    既然服务器和客户端都是C#,为什么不用Remoting呢?
    2008年12月13日 15:45
    版主
  • 因为我设想用C#写的Server端类似Word一样的进程外Com,我认为这样是进程间交互比较好的方式。但是现在VS不支持引用用.NET环境生成的tlb,用ATL生成的tlb是.NET可以支持的。

    2008年12月14日 14:01
  • ATL工程向导会生成列集用的注册信息和代理DLL,.Net的不会。
    2008年12月14日 14:31
    版主
  • 我认为只要有.Net环境,C#可以代替C++(不是托管的C++),看来我错了。

    2008年12月14日 14:41
  •  你好,请问怎么用C#做一个进程外com组件?我要用c++调用。但不知道怎么用C#做进程外com组件。查了很多资料都是dll的。谢谢你。
    2009年2月18日 8:25
  • GoldFishKing 说:

    我认为只要有.Net环境,C#可以代替C++(不是托管的C++),看来我错了。



    activex exe  从来就不是process间通信的好方式
    不然.net就不会那么费力的在runtime 增加remoting了
    就算首页不能显示30天内排行榜 回答总数也快接近top10了 5555
    努力奋斗 重回首页排行榜!!! 55555
    有原则的回答问题: 不懂的不去装懂,别人回答得很完整的,没有需要补充的不去蹭分。
    2009年2月19日 15:22
    版主