Browse Source

Fixed SD2-627: Debugger locking output exe on selecting debug | run.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@953 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 20 years ago
parent
commit
76aa9e3f63
  1. 4
      src/Main/Base/Project/Src/Commands/BuildCommands.cs
  2. 34
      src/Main/Base/Project/Src/Commands/DebugCommands.cs

4
src/Main/Base/Project/Src/Commands/BuildCommands.cs

@ -48,9 +48,13 @@ namespace ICSharpCode.SharpDevelop.Project.Commands @@ -48,9 +48,13 @@ namespace ICSharpCode.SharpDevelop.Project.Commands
{
MSBuildEngine.ShowResults(results);
AfterBuild();
if (BuildComplete != null)
BuildComplete(this, EventArgs.Empty);
}
public abstract void StartBuild();
public event EventHandler BuildComplete;
}
public class Build : AbstractBuildMenuCommand

34
src/Main/Base/Project/Src/Commands/DebugCommands.cs

@ -13,32 +13,30 @@ namespace ICSharpCode.SharpDevelop.Project.Commands @@ -13,32 +13,30 @@ namespace ICSharpCode.SharpDevelop.Project.Commands
{
public class Execute : AbstractMenuCommand
{
protected bool withDebugger = true;
public override void Run()
{
new Build().Run();
if (MSBuildEngine.LastErrorCount == 0) {
IProject startupProject = ProjectService.OpenSolution.StartupProject;
if (startupProject != null) {
startupProject.Start(true);
} else {
MessageService.ShowError("${res:BackendBindings.ExecutionManager.CantExecuteDLLError}");
Build build = new Build();
build.BuildComplete += delegate {
if (MSBuildEngine.LastErrorCount == 0) {
IProject startupProject = ProjectService.OpenSolution.StartupProject;
if (startupProject != null) {
startupProject.Start(withDebugger);
} else {
MessageService.ShowError("${res:BackendBindings.ExecutionManager.CantExecuteDLLError}");
}
}
}
};
build.Run();
}
}
public class ExecuteWithoutDebugger : AbstractMenuCommand
public class ExecuteWithoutDebugger : Execute
{
public override void Run()
{
new Build().Run();
if (MSBuildEngine.LastErrorCount == 0) {
IProject startupProject = ProjectService.OpenSolution.StartupProject;
if (startupProject != null) {
startupProject.Start(false);
} else {
MessageService.ShowError("${res:BackendBindings.ExecutionManager.CantExecuteDLLError}");
}
}
withDebugger = false;
base.Run();
}
}

Loading…
Cancel
Save