public override void Remove(bool removeFromStorage, bool promptSave = true) { // AssemblyReference doesn't backed by the document - its removal is simply modification of the project file // we disable IVsTrackProjectDocuments2 events to avoid confusing messages from SCC var oldFlag = ProjectMgr.EventTriggeringFlag; try { ProjectMgr.EventTriggeringFlag = oldFlag | ProjectNode.EventTriggering.DoNotTriggerTrackerEvents; base.Remove(removeFromStorage, promptSave); // invoke ComputeSourcesAndFlags to refresh compiler flags // it was the only useful thing performed by one of IVsTrackProjectDocuments2 listeners ProjectMgr.ComputeSourcesAndFlags(); } finally { ProjectMgr.EventTriggeringFlag = oldFlag; } }