Как подписаться на события решения и проекта из VSPackage

Я разрабатываю языковую службу для Visual Studio через VSPackage. Мне нужно обновлять данные разбора каждый раз, когда файлы добавляются/удаляются из проектов решения.

Я хочу подписаться на события решения и проекта.

Я попытался сделать следующее, но ни одно из этих событий не срабатывает, когда я добавляю/удаляю проекты в решение или добавляю/удаляю элементы в проекты.

DTE dte = (DTE)languageService.GetService(typeof(DTE));
if (dte == null)
    return;

((Events2)dte.Events).SolutionEvents.ProjectAdded += SolutionEvents_ProjectAdded;
((Events2)dte.Events).SolutionEvents.ProjectRemoved += SolutionEvents_ProjectRemoved;
((Events2)dte.Events).ProjectItemsEvents.ItemAdded += ProjectItemsEvents_ItemAdded;
((Events2)dte.Events).ProjectItemsEvents.ItemRemoved += ProjectItemsEvents_ItemRemoved;

Какой лучший способ подписаться на эти события из VSPackage? Любая помощь приветствуется!

16
задан Anthony Brien 19 October 2011 в 17:33
поделиться