Outlook 2003加载项 - 在创建WPF窗口后,在应用程序关闭时获取COM异常

时间:2010-03-25 16:59:44

标签: .net exception com outlook vsto

我正在开发一个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

1 个答案:

答案 0 :(得分:2)

窗口关闭后,您需要在同一个线程中调用WPF窗口Dispatcher上的Shutdown。

window.Dispatcher.InvokeShutdown();

Microsoft Connect

中报告了类似的问题