private async void ExecuteAsync(object sender, EventArgs e) { var solution = (IVsSolution)ServiceProvider.GetService(typeof(SVsSolution)); IEnumerable <IVsHierarchy> hierarchies = VsHelpers.GetProjectsInSolution(solution, __VSENUMPROJFLAGS.EPF_LOADEDINSOLUTION); var configFiles = new List <string>(); foreach (IVsHierarchy hierarchy in hierarchies) { Project project = VsHelpers.GetDTEProject(hierarchy); if (VsHelpers.ProjectContainsManifestFile(project)) { string configFilePath = Path.Combine(project.GetRootFolder(), Constants.ConfigFileName); configFiles.Add(configFilePath); } } await LibraryHelpers.RestoreAsync(configFiles); Telemetry.TrackUserTask("restoresolution"); }