用C# 写了一个COM, 注册后给C++调用。之前都没问题,做过一些修改后,调用某个接口时 报错 HRESULT 0x80131509。
问题是只在某些机器上报错,某些机器上正常 (我的机器上没事儿,所以没办法调试)。那位熟悉COM的哥哥给个建议?TLB的问题?还是跟那些系统环境有关系?

解决方案 »

  1.   

    是不是新接口没有加 [ComVisible(true)]?
      

  2.   

    kong19:
    接口类有[ComVisible(true)],貌似[ComVisible(true)]是默认的吧,并没有新接口,接口定义没有变,只是实现里面内容变了。 bdmh:
    哥,改的地儿太多了
    我倒是可以将之前的dll替换一下试试。
      

  3.   

    to happy09li:
    我的C++ 是vs2003的工程, c# 是VS2008的工程 Framework3.5
    真是乱了套了
      

  4.   


    看看某些机器上是否装了Framework 3.5 SP1。
    如果开发机上装过SP1,开发时可能会用到一些3.5没有的函数,比如Wait(timeout)等。