在之前的Visual Studio版本中,扩展(更具体地说是插件)只有一个入口点即OnConnect
方法。从那里可以执行所有Visual Studio操作,例如添加菜单项和设置全局异常处理程序以优雅地处理未经处理的异常。
在Visual Studio 2010的VsPackage中,情况有所不同-应用程序的许多部分(如IWpfTextView
)是由MEF组合并加载的,而没有包的显式控制,这使得处理来自这些部分的任何异常变得非常困难。
在不显式包装所有这些组件的try..catch
的情况下,我如何有效地实现我的VsPackage中的(非关键性)异常全局处理程序?
再次强调目标是像ReSharper的异常对话框一样,在不崩溃Visual Studio的情况下处理全局异常。