0

我正在开发的 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))。

有谁知道可能是什么问题?

4

1 回答 1

0

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

于 2010-02-13T08:40:09.217 回答