【发布时间】:2014-03-16 20:22:46
【问题描述】:
我有一个非常大的项目,我不能轻易剥离。
当应用程序被关闭时,我收到错误
"InvalidComObjectException: A COM object that has been disconnected from the RCW can not be used."
详情:
System.Runtime.InteropServices.InvalidComObjectException has occured.
HResult=-2146233049
Message=A COM object that has been disconnected from its RCW can not be used.
Source=mscorlib
StackTrace:
at System.StubHelpers.StubHelpers.StubRegisterRCW(Object pThis)
InnerException:
不幸的是,我看不到这是关于什么 COM 对象。 有人知道我怎么能找到吗?不幸的是,我无法阅读 ASM 来分析反汇编。
【问题讨论】:
-
是否有可能得到另一个与此相关的错误?如果一个未指定的 COM 失败,你能通过其他错误找出它是哪一个吗?你能在 Visual Studio 中复制这种行为吗?
-
每次都会发生。我不确定您所说的“与此相关的另一个错误”是什么意思。一切正常,但我收到此错误。
-
您是否添加了任何 ActiveX 控件。右键单击工具箱,然后选择项目。然后点击COM选项卡,看看有没有勾选,这个最好勾选。
-
你有任何代码在处理程序“Me.FormClosing”或“Me.FormClosed”上运行
-
您是否碰巧在代码(或您直接或间接引用的任何代码)中的任何位置调用 Marshal.FinalReleaseComObject?