单击停止调试按钮后运行事件的任何方法? c#WPF

时间:2014-08-14 01:18:21

标签: c# wpf visual-studio visual-studio-debugging

可以在关闭或出错时捕获并运行我们想要的代码。

然而,我仍然处于开发阶段并将会有更多时间,我正在运行应用程序作为调试模式(单击F5按钮)

并且还通过停止调试终止应用程序(转换F5)

当我通过停止调试终止应用程序时,关闭事件未触发(当您通过单击右上方的X标记关闭应用程序时触发的事件)

那么有没有办法让应用程序在停止调试按钮上运行?

下面我的关闭函数 - 在MainWindow.xaml.cs

AppDomain currentDomain = AppDomain.CurrentDomain;
Closing += new CancelEventHandler(CloseCrashHandlers.CloseHander);

非常感谢您的回答

Visual Studio 2013 V3

1 个答案:

答案 0 :(得分:2)

当您按Shift + F5组合停止调试在调试器下运行的应用程序时,执行某些自定义代码(或在问题中说明“使应用程序运行”)的唯一方法是创建Visual Studio扩展(或插件)挂钩下一个visual studio可扩展性事件:

EnvDTE.DebuggerEvents _dteDebuggerEvents;

_dteDebuggerEvents = VsObject.DTE.Events.DebuggerEvents;

_dteDebuggerEvents.OnEnterDesignMode += _dteDebuggerEvents_OnEnterDesignMode;
_dteDebuggerEvents.OnContextChanged += _dteDebuggerEvents_OnContextChanged;


void _dteDebuggerEvents_OnEnterDesignMode(dbgEventReason Reason)
{
   switch (Reason)
   {
       case dbgEventReason.dbgEventReasonStopDebugging:
             // do whatever you need here
       break;
   }
}

注意:您将无法使用上述处理程序从您自己运行的应用程序执行任何代码。