Лента надстройки Office не исчезнет после отладки - PullRequest
3 голосов
/ 27 июля 2011

Используя Visual Studio 2010, я создал проект надстройки Word 2010 для Word, имеющий ленту с парой основных элементов управления.Я еще даже не добавил код.Когда я отлаживаю проект, Word запускает и показывает эту ленту («Лента 1»).Пока все хорошо, но ...

Проблема 1: Теперь, когда я открываю любой документ Word, та же самая лента все еще там!

Проблема 2: У меня есть вторая лента ("Лента 2"), над которой я работаю в другом проекте.Когда я отлаживаю это, ОБА Лента 1 и Лента 2 кажутся объединенными как 1 лента!И эта объединенная лента по-прежнему отображается в следующий раз, когда я открываю любой документ Word.

Похоже, что источником обеих проблем является то, что Visual Studio неправильно удаляет ленту, когда я прекращаю отладку.Я работал над этим, вручную устанавливая ленту, а затем удаляя ее через VSTOInstaller.exe - настоящая боль.

Как я могу убедиться, что лента полностью удалена, когда я прекращаю отладку?

(я нашел похожий вопрос здесь , но ни один ответ не ясен.)

1 Ответ

5 голосов
/ 02 ноября 2011

Когда надстройка VSTO установлена, она добавляется в реестр Windows под HKEY_CURRENT_USER\Software\Microsoft\Office\Word\Addins для Word.(Надстройки для других приложений Office находятся поблизости.)

Самое простое - написать собственное консольное приложение, которое просто удаляет надстройку из этого расположения реестра.Все, что нужно сделать, это удалить вложенный ключ, который называется так же, как ваша надстройка.Затем вы можете запускать эту утилиту всякий раз, когда закончите сеанс отладки.

Если вы хотите, чтобы это происходило автоматически, вам нужно будет выяснить, как подключиться к Visual Studio для события, которое запускается привы останавливаете отладку и удаляете надстройку из реестра.Я никогда не пробовал ничего подобного.

...