/// <summary> /// Hook handler that will recieve change events in project. /// </summary> private void hookChangesHandler() { try { VS.RegisterElementAdd(_assemblyProject, onAdd); VS.RegisterElementRemove(_assemblyProject, onRemove); VS.RegisterElementChange(_assemblyProject, onChange); _referenceEvents.ReferenceAdded += (r) => addReference(r as Reference3); _referenceEvents.ReferenceRemoved += (r) => removeReference(r as Reference3); TypeServices.RegisterInvalidationHandler(onNameInvalidation); } catch (Exception ex) { VS.LogException(ex, "Hooking changes handlers in assembly {0} failed", Name); } }