我正在开发一个outlook 2003加载项。到目前为止,我只使用winforms来显示一个表单,但是今天我为更复杂的东西添加了一个WPF窗口。 DUe到WPF窗口,当outlook关闭时抛出COM异常。
有人知道为什么吗?我需要在单个单元状态下为WPF窗口启动一个单独的线程。
以下是例外:
System.Runtime.InteropServices.InvalidComObjectException was unhandled
Message="COM object that has been separated from its underlying RCW cannot be used."
Source="PresentationCore"
StackTrace:
at System.Windows.Input.TextServicesContext.StopTransitoryExtension()
at System.Windows.Input.TextServicesContext.Uninitialize(Boolean appDomainShutdown)
at System.Windows.Input.TextServicesContext.TextServicesContextShutDownListener.OnShutDown(Object target)
at MS.Internal.ShutDownListener.HandleShutDown(Object sender, EventArgs e)
InnerException:
最诚挚的问候,
Oliver Hanappi
答案 0 :(得分:2)
窗口关闭后,您需要在同一个线程中调用WPF窗口Dispatcher上的Shutdown。
window.Dispatcher.InvokeShutdown();
中报告了类似的问题