Поэтому полтора года назад я написал метод в продукте моей компании, который использует COM-автоматизацию Excel 2007 для экспорта данных, только теперь я обнаружил, что он больше не работает на компьютерах в офисе.
Я проверил функциональность метода на своей машине и получил тот же результат.
Копнув глубже, я обнаружил, что когда я добираюсь до
var excel = Excel.Application
Если я добавлю наблюдение за объектом excel, я увижу, что каждое свойство генерирует исключение приведения.
Проведя небольшое исследование, я обнаружил кое-что о ключах реестра, которые могут мешать автоматизации. Мне удалось покопаться и удалить ключ реестра:
HKEY_CLASSES_ROOT\TypeLib{00020813-0000-0000-C000-000000000046}\1.7
Со следующим строковым значением, определенным внутри:
"PrimaryInteropAssemblyName"="Microsoft.Office.Interop.Excel, Version=14.0.0.0
Затем я снова запустил тот же фрагмент кода, только на этот раз он работал отлично.
На других машинах в офисе, на которых я тестировал приложение, была та же ошибка, только я не смог исправить их таким же образом.
Кто-нибудь еще сталкивался с этим раньше?
Спасибо.