void SelectActiveRuntime(RuntimeModel preferedRuntimeModel) { ignoreRuntimeChangedCount++; try { if (ToolbarView.RuntimeModel.Any ()) { if (startupProjects.Length > 1) { var multiProjectTarget = new MultiProjectExecutionTarget (); var multipleRuntime = new RuntimeModel (this, multiProjectTarget, false, null); foreach (var startupProject in startupProjects) { var runtimeModel = SelectActiveRuntime (startupProject.Item1, preferedRuntimeModel); if (runtimeModel == null) { LoggingService.LogError ($"No runtimeModel for {startupProject.Item1.Name}"); continue; } multiProjectTarget.SetExecutionTarget (startupProject.Item1, runtimeModel.ExecutionTarget); multipleRuntime.AddChild (runtimeModel); } ToolbarView.ActiveRuntime = multipleRuntime; IdeApp.Workspace.ActiveExecutionTarget = multipleRuntime.ExecutionTarget; } else if (startupProjects.Length == 1) { var runtimeModel = SelectActiveRuntime (startupProjects.First ().Item1, preferedRuntimeModel); ToolbarView.ActiveRuntime = runtimeModel; IdeApp.Workspace.ActiveExecutionTarget = runtimeModel?.ExecutionTarget; UpdateBuildConfiguration (); } else { ToolbarView.ActiveRuntime = null; IdeApp.Workspace.ActiveExecutionTarget = null; } } } finally { ignoreRuntimeChangedCount--; } }
void SelectActiveRuntime (RuntimeModel preferedRuntimeModel) { ignoreRuntimeChangedCount++; try { if (ToolbarView.RuntimeModel.Any ()) { if (startupProjects.Length > 1) { var multiProjectTarget = new MultiProjectExecutionTarget (); var multipleRuntime = new RuntimeModel (this, multiProjectTarget, false, null); foreach (var startupProject in startupProjects) { var runtimeModel = SelectActiveRuntime (startupProject.Item1, preferedRuntimeModel); multiProjectTarget.SetExecutionTarget (startupProject.Item1, runtimeModel.ExecutionTarget); multipleRuntime.AddChild (runtimeModel); } ToolbarView.ActiveRuntime = multipleRuntime; IdeApp.Workspace.ActiveExecutionTarget = multipleRuntime.ExecutionTarget; } else if (startupProjects.Length == 1) { var runtimeModel = SelectActiveRuntime (startupProjects.First ().Item1, preferedRuntimeModel); ToolbarView.ActiveRuntime = runtimeModel; IdeApp.Workspace.ActiveExecutionTarget = runtimeModel?.ExecutionTarget; UpdateBuildConfiguration (); } else { ToolbarView.ActiveRuntime = null; IdeApp.Workspace.ActiveExecutionTarget = null; } } } finally { ignoreRuntimeChangedCount--; } }