コード例 #1
0
        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;
            }
        }