Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 向COM对象添加了一个新方法,该对象在调用时会发生异常_C#_Com - Fatal编程技术网

C# 向COM对象添加了一个新方法,该对象在调用时会发生异常

C# 向COM对象添加了一个新方法,该对象在调用时会发生异常,c#,com,C#,Com,我在COM类中添加了一个方法,每次调用该方法时都会出现以下异常: 异常:System.Runtime.InteropServices.COMException(0x800706BE):远程过程调用失败。(来自HRESULT的异常:0x800706BE) 位于System.EnterpriseServices.IRemoteDispatch.RemoteDispatchNotAutoDone(字符串s) 这个COM类中还有其他方法可以一直被调用,没有任何问题。这只发生在我的新方法上。在向COM对象

我在COM类中添加了一个方法,每次调用该方法时都会出现以下异常:

异常:System.Runtime.InteropServices.COMException(0x800706BE):远程过程调用失败。(来自HRESULT的异常:0x800706BE) 位于System.EnterpriseServices.IRemoteDispatch.RemoteDispatchNotAutoDone(字符串s)


这个COM类中还有其他方法可以一直被调用,没有任何问题。这只发生在我的新方法上。在向COM对象添加新方法时,是否需要执行一些特殊操作?如果需要更多详细信息,请告诉我。

更新COM对象后是否重新生成COM互操作包装器


如果我在这个澄清上错了,请澄清:我猜您是在引用托管C#lib中的COM库?当ref生成时,VS应该为您生成一个互操作包装,但我不确定它是否会检测到更改并重新生成包装,除非您手动重新引用COM dll或自己重新生成互操作。

如果您从该方法中删除所有代码,会发生什么情况?它是否使用/公开其他方法未使用的任何新类型?我将尝试该方法。Damien:我的COM方法调用另一个方法,该方法使用了一个新的结构。我需要用什么东西装饰那座建筑吗?我想如果我按照约翰的建议去做,并且成功了,这可能意味着结构让它不开心。否则,代码只使用标准的.net简单对象.John,从方法中删除代码让它很高兴。有可能是我介绍的自定义结构对象吗?我猜出来了。谢谢。我有两个C#项目。一个是COM,另一个是COM的调用方。我再次将COM项目引用添加到调用方项目,运气不好。