我正在开发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))。
有没有人有任何想法可能是什么问题?
答案 0 :(得分:0)
确保您已安装VIA的VSTO运行时和正确的版本(OL2003 / OL2007)。有时可能是CAS政策问题http://msdn.microsoft.com/en-us/library/zdc263t0.aspx