public virtual ISolutionExplorer GetSolutionExplorer() { if (_solutionExplorer == null) { JoinableTaskContext taskContext = GetJoinableTaskContext(); var vcProjectAdapterFactory = new VcProjectAdapter.Factory(); var dte2 = Package.GetGlobalService(typeof(DTE)) as DTE2; var envDteUtilFactory = new EnvDteUtil.Factory(); var envDteUtil = envDteUtilFactory.Create(taskContext, dte2); _solutionExplorer = new SolutionExplorer(taskContext, vcProjectAdapterFactory, envDteUtil); } return(_solutionExplorer); }