首先让我说,对于我的场景,插件将在应用程序启动时加载,并且在应用程序关闭之前不会被卸载,所以如果我在加载后无法卸载它们是完全可以的。
所以我知道如果插件崩溃,将插件加载到他们自己的 AppDomain 将保护我的应用程序,但假设插件不运行非托管代码,那么我不能只在 try/catch 块中包装对插件的调用以避免我的应用程序崩溃?或者我在这里错过了什么?
我试图使用 MAF 来执行此操作,但是我在远程处理我的对象时遇到了问题。也就是说,在这个时间点上,我所拥有的使它们可远程化的可用选项似乎都不是非常可取的。因此,在我切换到更原始的插件架构之前,谁能告诉我是否忘记了我应该将插件加载到单独的 AppDomain 的任何其他重要原因(或者我是否错误地能够简单地避免崩溃在调用周围使用 try/catch 块)?