private async Task SetDefaultProjectNameAsync() { await NuGetUIThreadHelper.JoinableTaskFactory.SwitchToMainThreadAsync(); IEnumerable <object> startupProjects; try { // when a new solution opens, we set its startup project as the default project in NuGet Console var dte = await _dte.GetValueAsync(); var solutionBuild = dte.Solution.SolutionBuild as SolutionBuild2; startupProjects = solutionBuild?.StartupProjects as IEnumerable <object>; } catch (COMException) { // get_StartupProjects misbehaves for certain project types, so ignore this failure return; } var startupProjectName = startupProjects?.Cast <string>().FirstOrDefault(); if (!string.IsNullOrEmpty(startupProjectName)) { if (_projectSystemCache.TryGetProjectNames(startupProjectName, out var projectName)) { DefaultNuGetProjectName = _projectSystemCache.IsAmbiguous(projectName.ShortName) ? projectName.CustomUniqueName : projectName.ShortName; } } }
private void SetDefaultProjectName() { ThreadHelper.ThrowIfNotOnUIThread(); IEnumerable <object> startupProjects; try { // when a new solution opens, we set its startup project as the default project in NuGet Console var dte = _serviceProvider.GetDTE(); var solutionBuild = dte.Solution.SolutionBuild as SolutionBuild2; startupProjects = solutionBuild?.StartupProjects as IEnumerable <object>; } catch (COMException) { // get_StartupProjects misbehaves for certain project types, so ignore this failure return; } var startupProjectName = startupProjects?.Cast <string>().FirstOrDefault(); if (!string.IsNullOrEmpty(startupProjectName)) { if (_projectSystemCache.TryGetProjectNames(startupProjectName, out var projectName)) { DefaultNuGetProjectName = _projectSystemCache.IsAmbiguous(projectName.ShortName) ? projectName.CustomUniqueName : projectName.ShortName; } } }
private void SetDefaultProjectName() { ThreadHelper.ThrowIfNotOnUIThread(); // when a new solution opens, we set its startup project as the default project in NuGet Console var dte = _serviceProvider.GetDTE(); var solutionBuild = (SolutionBuild2)dte.Solution.SolutionBuild; if (solutionBuild.StartupProjects != null) { var startupProjects = (IEnumerable <object>)solutionBuild.StartupProjects; var startupProjectName = startupProjects.Cast <string>().FirstOrDefault(); if (!string.IsNullOrEmpty(startupProjectName)) { if (_projectSystemCache.TryGetProjectNames(startupProjectName, out ProjectNames projectName)) { DefaultNuGetProjectName = _projectSystemCache.IsAmbiguous(projectName.ShortName) ? projectName.CustomUniqueName : projectName.ShortName; } } } }