Фон
Мой офис уже довольно давно использует Office 2010, и я написал приложение для создания некоторых файлов Excel, которые мы загружаем на веб-сайт. Недавно наша компания решила go с Office 365. Итак, на моей машине для разработки у меня были 2010 и 365 (независимо от версии), а также Visual Studio 2017.
Моя компания наверняка собирается требуют, чтобы все не-365 версии офиса были удалены, поэтому сегодня я удалил 2010, чтобы посмотреть, что ломается.
Проблема
Я исправил ссылки в проекте указать на правильные объекты сейчас. У меня есть ссылка на библиотеку объектов Microsoft Excel 16.0, и мне пришлось изменить операторы вроде
Dim ExApp AS Excel.Application= new Excel.Application
на
Dim ExApp AS Microsoft.Office.Interop.Excel.Application= new Microsoft.Office.Interop.Excel.Application
и теперь код компилируется без ошибок. Однако, когда я запускаю его, я получаю следующую ошибку в приведенном выше утверждении:
System.Runtime.InteropServices.COMException: 'Retrieving the COM class factory for component with CLSID
{00024500-0000-0000-C000-000000000046} failed due to the following error: 80040154 Class not registered
(Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).'
Я не уверен, почему.
Inte rnet поиски по этой ошибке, как правило, очень старые, и большинство описывают попытки запустить приложение на компьютере, на котором не установлен Office. Я не могу запустить его на своей машине разработки в режиме отладки.