可以在关闭或出错时捕获并运行我们想要的代码。
然而,我仍然处于开发阶段并将会有更多时间,我正在运行应用程序作为调试模式(单击F5按钮)
并且还通过停止调试终止应用程序(转换F5)
当我通过停止调试终止应用程序时,关闭事件未触发(当您通过单击右上方的X标记关闭应用程序时触发的事件)
那么有没有办法让应用程序在停止调试按钮上运行?
下面我的关闭函数 - 在MainWindow.xaml.cs
中AppDomain currentDomain = AppDomain.CurrentDomain;
Closing += new CancelEventHandler(CloseCrashHandlers.CloseHander);
非常感谢您的回答
Visual Studio 2013 V3
答案 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;
}
}
注意:您将无法使用上述处理程序从您自己运行的应用程序执行任何代码。