【c# – 当创建它的线程终止时,CLR是否释放了COM对象?】教程文章相关的互联网学习教程文章

c# – 当创建它的线程终止时,CLR是否释放了COM对象?

我一直无法弄清楚如何搜索这种怀疑的确认,但我看到证据表明在一个线程上创建的COM对象不再可用于其他线程(已经与其底层RCW分离的COM对象无法使用)一旦代码在创建它的线程上停止执行(并且该线程可能已终止).这是一个非常隐蔽的问题,因为我在整个代码中都调用了System.Runtime.InteropServices.Marshal.ReleaseComObject,但是我无法识别它们中的任何一个被调用导致此错误.最后我得出结论,当辅助线程停止执行时,COM对象显然被隐式释放...