VSTO Add-In для MS Word постоянно отключается автоматически - PullRequest
0 голосов
/ 06 января 2020

Я разработал надстройку VSTO для MS Word. Когда я устанавливаю надстройку на клиентские компьютеры, каждый раз, когда я хочу включить надстройку вручную.

Я подписывал свою надстройку с помощью сертификата.

Кто-нибудь может мне помочь, почему надстройка отключается снова и снова.

Любая помощь высоко ценится.

Ответы [ 2 ]

0 голосов
/ 07 января 2020

Я разобрался в проблеме.

MS Office автоматически отключает надстройки в случае сбоя. В моем случае исключение было сгенерировано из начальной точки, т.е. ThisAddIn_Startup

Office не смог создать экземпляр надстройки, поскольку не было открытого документа, и это исключение вызывалось.

Это было исключение: эта команда недоступна, потому что ни один документ не открыт.

Чтобы исправить эту ошибку, я написал следующие строки, которые открывают пустой документ MS Word, если какой-либо документ не открыто:

 if (Application.Documents.Count == 0)
                this.Application.Documents.Add();
0 голосов
/ 06 января 2020

Сразу после установки надстройки я бы предложил проверить значение ключа LoadBehavior (до запуска MS Word). По умолчанию для этой записи установлено значение 3, которое указывает, что надстройка VSTO загружается при запуске. Подробнее о таких ключах читайте в статье Registry для надстроек VSTO .

Приложения Microsoft Office могут отключать надстройки VSTO, которые ведут себя неожиданно. Если приложение не загружает вашу надстройку VSTO, приложение может быть жестко отключено или программно отключено надстройка VSTO.

Может произойти жесткое отключение, когда надстройка VSTO вызывает неожиданное закрытие приложения. Это также может произойти на вашем компьютере разработчика, если вы остановите отладчик во время выполнения обработчика событий Startup в вашей надстройке VSTO.

Может произойти мягкое отключение, когда надстройка VSTO выдает ошибку, которая вызывает не вызывает неожиданное закрытие приложения. Например, приложение может мягко отключить надстройку VSTO, если оно генерирует необработанное исключение во время выполнения обработчика события Startup.

При повторном включении надстройки VSTO с программным отключением Приложение сразу пытается загрузить надстройку VSTO. Если проблема, которая изначально вызывала программное отключение надстройки VSTO, не была устранена, приложение снова отключит программную надстройку VSTO. Подробнее об этом читайте в Как: повторно включить надстройку VSTO, которая была отключена в статье .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...