我在项目中使用了MEF来为插件提供可扩展性。这很好用,但我已经意识到需要将插件程序集与主应用程序隔离开来,所以至少,如果一个插件,主应用程序不会崩溃。
不幸的是,这似乎比预期更复杂 - 需要MAF和MEF的组合才能提供最佳解决方案。
但是,我的资源和时间都很少,所以暂时至少,满意的解决办法就足够了。
我已经在使用AppDomain.CurrentDomain.UnhandledException
事件进行详细的记录工作;我注意到这一点,我也可以检测到哪个AppDomain
导致异常。有没有办法在这一点上实际处理这些未处理的异常?这样我可以有条件地检查外部程序集中是否发生异常,如果是,则忽略它们,以便主应用程序继续不受影响。