Visual studio 2012 OneInterBreakMode不启动

Visual studio 2012 OneInterBreakMode不启动,visual-studio-2012,visual-studio-addins,envdte,Visual Studio 2012,Visual Studio Addins,Envdte,跑步VS 2012。我创建了一个外接程序。我想处理OneInterBreakMode事件。调用Exec方法。我尝试返回handled=true/false。处理程序永远不会被调用。我尝试了一些DTE和DTE2的变体。我进入工具菜单>点击“MyAddIn1”,调用Exec方法。我验证了事件是否已绑定。我不知道外接程序的生命周期是如何工作的 StartEvents不是覆盖,也没有连接到任何东西。我觉得很奇怪 public void Exec(string commandName, vsCommand

跑步VS 2012。我创建了一个外接程序。我想处理OneInterBreakMode事件。调用Exec方法。我尝试返回handled=true/false。处理程序永远不会被调用。我尝试了一些DTE和DTE2的变体。我进入工具菜单>点击“MyAddIn1”,调用Exec方法。我验证了事件是否已绑定。我不知道外接程序的生命周期是如何工作的

StartEvents
不是覆盖,也没有连接到任何东西。我觉得很奇怪

public void Exec(string commandName, vsCommandExecOption executeOption, ref object varIn, ref object varOut, ref bool handled)
        {
            handled = false;
            if(executeOption == vsCommandExecOption.vsCommandExecOptionDoDefault)
            {
                if(commandName == "MyAddin1.Connect.MyAddin1")
                {
                    //handled = true;

                    // Place the following code in the Exec method of the add-in:                           
                    EnvDTE.DebuggerEvents debugEvents = _applicationObject.Events.DebuggerEvents;
                    debugEvents.OnEnterBreakMode += new _dispDebuggerEvents_OnEnterBreakModeEventHandler(Connect.BreakHandler);

                    return;
                }
            }
        }
        private DTE _applicationObject;
        private AddIn _addInInstance;

        // Place the following Event handler code in the add-in:
        // Needed to activate event handlers in Connect.Exec.
        public static void StartEvents(DTE dte)
        {
            Console.WriteLine("Events are attached.");
        }

        // OnEnterBreakMode Event.
        public static void BreakHandler(dbgEventReason reason, ref dbgExecutionAction execAction)
        {
            Console.WriteLine("Debugger enters break mode. " + "Reason: " + reason.ToString());
        }

如果您为一个事件创建了一个局部变量,并订阅了它,那么该变量将在作用域离开后由GC释放,并且您的事件处理程序将不会启动

如果将
debugEvents
设置为成员变量,那么它应该可以正常工作