VSTO加载项中的InvalidCastException

时间:2010-01-28 15:47:41

标签: .net exception vsto outlook-addin

我正在开发VSTO Outlook加载项时遇到一些奇怪的问题。它在一堆机器上工作正常,但在一个机器中它会抛出一个InvalidCastException而无法找到原因。我已经检查过这台机器上安装了所有先决条件(安装程序单独执行,但我也手动检查过),一切似乎与其他机器完全一样。

抛出异常的代码是:

this.Application.Session.
    GetDefaultFolder(Outlook.OlDefaultFolders.olFolderCalendar).Items.
    OfType<Outlook.AppointmentItem>();

,例外是:

  

无法将“Microsoft.Office.Interop.Outlook.ApplicationClass”类型的COM对象强制转换为接口类型“Microsoft.Office.Interop.Outlook._Application”。此操作失败,因为由于以下错误,对IID为“{00063001-0000-0000-C000-000000000046}”的接口的COM组件的QueryInterface调用失败:库未注册。 (HRESULT的例外情况:0x8002801D(TYPE_E_LIBNOTREGISTERED))。

有没有人有任何想法可能是什么问题?

1 个答案:

答案 0 :(得分:0)

确保您已安装VIA的VSTO运行时和正确的版本(OL2003 / OL2007)。有时可能是CAS政策问题http://msdn.microsoft.com/en-us/library/zdc263t0.aspx