InvalidCastException в надстройке VSTO

У меня возникла немного странная проблема с надстройкой VSTO Outlook, которую я разрабатываю. Он отлично работает на нескольких машинах, но на одном выдает исключение InvalidCastException и не может найти причину, почему. Я проверил, что на этом компьютере установлены все необходимые компоненты (установщик делает это сам, но я также проверил это вручную), и все выглядит точно так же, как на других машинах.

Код, генерирующий исключение:

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

и исключение:

Невозможно преобразовать COM-объект типа «Microsoft.Office.Interop.Outlook.ApplicationClass» в тип интерфейса «Microsoft.Office.Interop.Outlook._Application». Эта операция завершилась неудачно, поскольку вызов QueryInterface для COM-компонента для интерфейса с IID «{00063001-0000-0000-C000-000000000046}» завершился неудачно из-за следующей ошибки: Библиотека не зарегистрирована. (Исключение из HRESULT: 0x8002801D (TYPE_E_LIBNOTR ЗАРЕГИСТРИРОВАНО)).

Есть ли у кого-нибудь идеи, в чем может быть проблема?


person RaYell    schedule 28.01.2010    source источник


Ответы (1)


Убедитесь, что у вас установлена ​​среда выполнения VSTO и установлена ​​правильная версия (OL2003 / OL2007) PIA. Иногда это может быть проблема политики CAS http://msdn.microsoft.com/en-us/library/zdc263t0.aspx

person Deepak N    schedule 13.02.2010