如何解决为Visual Studio 2010 VsPackage制作全局异常处理程序
| 在Visual Studio的早期版本中,扩展(更具体地说是插件)的单一入口点是OnConnect
方法。从那里可以执行所有Visual Studio操作,例如添加菜单项和设置全局异常处理程序,以优雅地处理未处理的异常。
在Visual Studio 2010的VsPackage中,事情的运作方式不同-应用程序的许多部分(例如IWpfTextView
)由MEF组成,并且在没有显式控制包的情况下加载它们,这使得处理来自那些异常的异常非常困难。
如果不将所有此类组件都显式地包装在它们自己的“ 2”中,我如何在VsPackage中有效地为(非关键)异常实现全局处理程序?
同样,目标是拥有类似ReSharper的异常对话框的功能,在该对话框中它可以处理全局异常而不会导致Visual Studio崩溃。
解决方法
我通过阅读VsExtensibility官方论坛来研究此主题,并且根据此主题和该主题,没有这样一个地方可以吸引所有异常。因此,典型的解决方案是使用try ...到处捕获。
我建议使用诸如PostSharp之类的AOP框架来实现此属性,以消除成堆的笨拙重复代码,其唯一目的是处理未处理的异常。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。