From cef6655500ae94ab16fe580a51d83226a36dc9e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Srbeck=C3=BD?= Date: Thu, 29 Oct 2009 08:09:56 +0000 Subject: [PATCH] Request v4 debugger interface only for v4 applications git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@5189 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61 --- src/AddIns/Debugger/Debugger.Core/NDebugger.cs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/AddIns/Debugger/Debugger.Core/NDebugger.cs b/src/AddIns/Debugger/Debugger.Core/NDebugger.cs index 66dd1b4f9f..958ef319c0 100644 --- a/src/AddIns/Debugger/Debugger.Core/NDebugger.cs +++ b/src/AddIns/Debugger/Debugger.Core/NDebugger.cs @@ -114,7 +114,15 @@ namespace Debugger } this.debuggeeVersion = debuggeeVersion; - corDebug = NativeMethods.CreateDebuggingInterfaceFromVersion(4 /* .NET 4 */, debuggeeVersion); + int debuggerVersion; + // The CLR does not provide 4.0 debugger interface for older versions + if (debuggeeVersion.StartsWith("v1") || debuggeeVersion.StartsWith("v2")) { + debuggerVersion = 3; // 2.0 CLR + } else { + debuggerVersion = 4; // 4.0 CLR + } + + corDebug = NativeMethods.CreateDebuggingInterfaceFromVersion(debuggerVersion, debuggeeVersion); TrackedComObjects.Track(corDebug); managedCallbackSwitch = new ManagedCallbackSwitch(this);