public override void Close() { if (null != _projectDocListenerForStartupFileUpdates) { _projectDocListenerForStartupFileUpdates.Dispose(); _projectDocListenerForStartupFileUpdates = null; } LibraryManager libraryManager = ((IServiceContainer)Package).GetService(GetLibraryManagerType()) as LibraryManager; if (null != libraryManager) { libraryManager.UnregisterHierarchy(InteropSafeHierarchy); } if (_watcher != null) { _watcher.EnableRaisingEvents = false; _watcher.Dispose(); _watcher = null; } if (_attributesWatcher != null) { _attributesWatcher.EnableRaisingEvents = false; _attributesWatcher.Dispose(); _attributesWatcher = null; } _needBolding.Clear(); base.Close(); }
public override int SetSite(Microsoft.VisualStudio.OLE.Interop.IServiceProvider site) { base.SetSite(site); //Initialize a new object to track project document changes so that we can update the StartupFile Property accordingly _projectDocListenerForStartupFileUpdates = new ProjectDocumentsListenerForStartupFileUpdates((ServiceProvider)Site, this); _projectDocListenerForStartupFileUpdates.Init(); return VSConstants.S_OK; }