C# 无法强制转换类型为';系统。共对象';到IRTDUpdateEvent的接口类型
我花了很多时间试图弄清楚为什么在尝试运行RTD服务器(Excel RTD Server)时出现以下错误,这是我在通过RegAsm安装RTD服务器时开发的。如果我在我的dev machin上设置Register for COM interop标志,它就可以正常工作,但在使用RegAsm安装它时就不行了 System.InvalidCastException:无法将“System.\u ComObject”类型的COM对象强制转换为接口类型“IRTDUpdateEvent”。此操作失败,因为对IID为“{A43788C1-D91B-11D3-8F39-00C04F3651B8}”的接口的COM组件的QueryInterface调用由于以下错误而失败:不支持此类接口(HRESULT的异常:0x80004002(E_NOINTERFACE)) 有什么想法吗?你的界面“IRTDUpdateEvent”有这个Guid吗?谢谢Arthur 我终于设法破解了它。问题是,在创建安装包时,我在自定义安装中引用了Assembley。运行RTD时,它显然不喜欢这样。RegAsm在我的custm安装中。我将Register for COM interop标志保留为选中状态,然后右键单击并选择Add-->Assembley,将Assembley添加到我的安装项目中,从而解决了这个问题C# 无法强制转换类型为';系统。共对象';到IRTDUpdateEvent的接口类型,c#,C#,我花了很多时间试图弄清楚为什么在尝试运行RTD服务器(Excel RTD Server)时出现以下错误,这是我在通过RegAsm安装RTD服务器时开发的。如果我在我的dev machin上设置Register for COM interop标志,它就可以正常工作,但在使用RegAsm安装它时就不行了 System.InvalidCastException:无法将“System.\u ComObject”类型的COM对象强制转换为接口类型“IRTDUpdateEvent”。此操作失败,因为对IID
谢谢你的回复。是的,有。你能把所有的定义都贴出来吗?Assembly.cs、类定义(属性)和接口定义?