diff options
-rw-r--r-- | QtVsTools.Core/QtProject.cs | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/QtVsTools.Core/QtProject.cs b/QtVsTools.Core/QtProject.cs index 8ac146d1..6c02c4b4 100644 --- a/QtVsTools.Core/QtProject.cs +++ b/QtVsTools.Core/QtProject.cs @@ -886,25 +886,23 @@ namespace QtVsTools.Core { ThreadHelper.ThrowIfNotOnUIThread(); - foreach (SolutionConfiguration solutionCfg in dte.Solution.SolutionBuild.SolutionConfigurations) { + var solutionBuild = dte.Solution.SolutionBuild; + foreach (SolutionConfiguration solutionCfg in solutionBuild.SolutionConfigurations) { + if (solutionCfg.Name != solutionBuild.ActiveConfiguration.Name) + continue; + var contexts = solutionCfg.SolutionContexts; for (var i = 1; i <= contexts.Count; ++i) { - SolutionContext ctx = null; try { - ctx = contexts.Item(i); - } catch (ArgumentException) { - // This may happen if we encounter an unloaded project. - continue; - } - - if (ctx.PlatformName == platformName - && solutionCfg.Name == dte.Solution.SolutionBuild.ActiveConfiguration.Name) { + if (contexts.Item(i).PlatformName != platformName) + continue; solutionCfg.Activate(); return true; + } catch { + // This may happen if we encounter an unloaded project. } } } - return false; } |