/// <summary> /// Executes the launch point. /// </summary> public virtual void Execute(IGuidanceExtension extension) { if (!this.CanExecute(extension)) { throw new InvalidOperationException(string.Format( CultureInfo.CurrentCulture, Resources.VsLaunchPoint_ErrorCommandCannotExecute, this.BindingName)); } var commandBindingForEval = extension.Commands.FindByName(this.BindingName); if (commandBindingForEval != null) { commandBindingForEval.Evaluate(); } var tracer = Tracer.Get(extension.GetType()); using (tracer.StartActivity(Resources.VsLaunchPoint_TraceExecute, BindingName)) { var commandBinding = extension.Commands.FindByName(this.BindingName); commandBinding.Value.Execute(); } }