System.NullReferenceException в Microsoft.Office.Tools.Ribbon.RibbonBase.Dispose (Boolean) - PullRequest
0 голосов
/ 01 апреля 2019

Я создал свою первую надстройку Excel VSTO.Все отлично работает в Visual Studio.Я опубликовал надстройку, установленную на другом компьютере, но во время загрузки произошел сбой Excel.Отображалось только не отвечающее диалоговое окно.

  • Я пытался создать надстройку для 2013 года и более новые версии
  • Я установил VSTO_SUPPRESSDISPLAYALERTS в 0 -> Предупреждение не отображается
  • Я попытался установить VSTO_LOGALERTS на 1 -> Нет журнала
  • Я проверил значение регистра манифеста, путь правильный
  • Я попытался изменить значение манифеста на неправильное -> Журнал был записан с информацией о файле не найден
  • Так что я знаю, что VSTO_LOGALERTS работает, но не для моего случая
  • Я также проверил поток
  • Единственная информация, которую я нашел в журнале событий:

Приложение: EXCEL.EXE Framework Версия: v4.0.30319 Описание: Процесс был прерван из-за необработанного исключения.Информация об исключении: System.NullReferenceException в Microsoft.Office.Tools.Ribbon.RibbonBase.Dispose (Boolean) в ExcelTE.RibbonTE.Dispose (Boolean) в System.ComponentModel.Component.Finalize ()

InПредварительные условия Я проверил следующие параметры:

prerequisites

Я также пытался установить .NET Framework 4.7.2 и Visual Studio Tools for Office во время выполнения вручную, но безуспешно.

Есть идеи, что еще я могу проверить?

1 Ответ

0 голосов
/ 05 апреля 2019

Я нашел решение этой проблемы.

System.NullReferenceException немного вводил в заблуждение по этому поводу.

Я создал проект, затем добавил:

  • Лента
  • На ленте я добавил кнопку
  • Для кнопки, которую я создал, обработчик события щелчка

У меня была своя собственная логика в обработчике событий. Она использовала стороннюю библиотеку. Эта библиотека требует наличия папки Resources / someSettingsFile.settings в пользовательских документах.

Я делал инициализацию объекта из сторонней библиотеки при создании класса MyRibbon. Так что это вызывает исключение при загрузке Excel.

Я забыл, что я копировал папку Resources в Documents во время разработки, и когда я публиковал надстройку для других пользователей, у них просто не было файлов, необходимых для 3-й библиотеки.

...