我最近装了vs2010 旗舰版,做一个atl工程,用vs自带的工程向导,完成后,在用向导添加一个ATL控件。然后直接生成,OK,这里都没问题。我在c#工程中用此com就出错了  。我在C# winFrom中工具栏添加此atl控件,然后在设计时,把此控件拖入到winform的一个窗体中,此时会提示一个错误:“未能导入Activex控件。请确保它已正确注册。”    我原以为是控件没有注册后,我手动用regsvr32 注册了一次,也成功了!无论如何就是不能把此控件从winForm的工具栏中拖入到一个窗体中!!!!由于我电脑上也安装了vs2008,我用vs2008,按照一样的步骤生成一个ATL控件,用此控件就可以在vs2010中拖入成功(也可以在vs2008中拖入成功)。这会不会是vs2010的一个BUG啊!!!!!!

解决方案 »

  1.   

    我最近开发 atl控件使用atl 也和你遇到同样的问题,我使用了笨办法 解决了,使用 vs2005 或者 vs2008建一个atl工程,使用vs2010 打开 转换成vs2010 程序 就可以注册了,但是还是不清楚 为什么,网上说是由于某些接口没继承
      

  2.   

    应该是改atl的默认继承接口了。
      

  3.   

    我搞定了,原因正如akirya所说。
      

  4.   

    goodnew这个问题是咋解决的,具体修改了哪些?急用,谢谢!