我已经实现了一个C#IDispatch接口,允许我托管代码后期绑定更多的调试信息。这似乎工作时被某些第三方程序调用,但不是其他人。它不会将其放入托管代码部分以输出调试信息。这是非常可能的一些接口描述(我从C++转换而来)是不正确的,所以它不会触及代码。是否可以确定第三方软件试图拨打哪些方法?如何获得IDispatch的COM接口故障
感谢
编辑:为了尽量使问题少模糊,我将描述的症状。我写了一个测试用例,它可以很好地调用IDispatch库。它适用于一个第三方软件。当我第二次运行它时,它会在发生错误时发出一个错误,但没有关于它尝试调用哪个函数的信息。有在界面约100功能,因此唯一的选择,我能想到的是所建议的是尝试,并呼吁所有的人都从一些测试代码。这两件第三方软件都是非托管代码。
这是无可救药的模糊。只是不要,让CLR为你实施它。将[InterfaceType(ComInterfaceType.InterfaceIsDual)]属性应用于您的接口声明。 –
@Hans是的,我知道它是模糊的。我无法获得足够的信息来将其缩小到合理的问题。 –