c# - VSPackage 中的 OnEnterRunMode 不起作用

标签 c# debugging events vspackage

我正在开发一个扩展 (VSPackage),我正在订阅 VSPackage.cs 构造函数中的 2 个调试器事件

public sealed class ComboBoxPackage : Package
{
....
 public ComboBoxPackage()
        {
            Trace.WriteLine(string.Format(CultureInfo.CurrentCulture, "Entering constructor for: {0}", this.ToString()));
            _dte = (DTE)Package.GetGlobalService(typeof(DTE));
            _events = _dte.Events;
            _debuggerEvents = _events.DebuggerEvents;

            _debuggerEvents.OnEnterRunMode += _debugEvents_OnEnterRunMode;
            _debuggerEvents.OnContextChanged +=_debuggerEvents_OnContextChanged;      
        }

        void _debuggerEvents_OnContextChanged(EnvDTE.Process NewProcess, Program NewProgram, Thread NewThread, EnvDTE.StackFrame NewStackFrame)
        {
            throw new NotImplementedException();
        }


        private void _debugEvents_OnEnterRunMode(dbgEventReason Reason)
        {
            return;
        }

}

当我运行它(开始运行应用程序)时,只会调用 _debuggerEvents_OnContextChanged,而不会调用 _debugEvents_OnEnterRunMode。

如果我对 Addin 项目做同样的事情,一切正常。

最佳答案

我希望还不够晚... 您是否直接从代码中保留对 DebuggerEvents 的引用并从那里处理事件。

我也是这样,我就这样解决了。

关于c# - VSPackage 中的 OnEnterRunMode 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11953094/

相关文章:

vb.net - VB 中的自定义事件

c# - 获取嵌套调用方法中的父方法参数值

c# - 如何为 COM 编码流

c# - TwilioRestClient SendMessage 未解析

c++ - 如何将源代码附加到 Eclipse 中的预构建静态 C 库

c - 使用 vim 在每个函数调用中插入 printf

java - 随时查找执行地点

javascript - 如何使用 javascript 自定义事件而不是 while 循环?

c# - 如何手动处置 RSACryptoServiceProvider?

javascript - 由于事件导致模型更改后,AngularJS 不刷新 View