public int OnAfterOpenProject(IVsHierarchy pHierarchy, int fAdded) { var project = pHierarchy.ToProject(); if (!project.IsGaugeProject()) { return(VSConstants.S_OK); } var slugifiedName = project.SlugifiedName(); if (GaugeService.Instance.ContainsApiConnectionFor(slugifiedName)) { return(VSConstants.S_OK); } try { StatusBarLogger.Log($"Initializing Gauge daemon for Project: {project.Name}"); GaugeService.Instance.RegisterGaugeProject(project, _gaugeDaemonOptions.MinPortRange, _gaugeDaemonOptions.MaxPortRange); StatusBarLogger.Log($"Initializing Gauge Project Cache: {project.Name}"); ProjectFactory.Initialize(project); } catch (Exception ex) { OutputPaneLogger.Error($"Failed to start Gauge Daemon: {ex}"); return(VSConstants.S_FALSE); } return(VSConstants.S_OK); }