1

我是 MAF 的新手,所以我的问题可能很愚蠢,但阅读一些关于激活插件的文档并不能澄清问题。

我有以下代码:

var process = new AddInProcess();
process.Start();

var addinView = tokenAddIn.Activate<HostViewSyncManagerBase>(process, AddInSecurityLevel.FullTrust);
var controller = AddInController.GetAddInController(addinView);
controller.AppDomain.UnhandledException += (sender, e) => Log.Error(e.ExceptionObject);
context.DoSomeWork();

但是controller.AppDomain.UnhandledException抛出NullReferenceException,因为AppDomain属性是null. 这是预期的行为吗?如果是,如何在插件中管理异常或者我做错了什么?

4

1 回答 1

0

仅当您在进程中激活 AddIn 时才会设置 AppDomain。查看参考源,有一条评论指出 AppDomain 对于 OOP(进程外)场景无效。

如果您考虑一下,这是有道理的,因为它是另一个进程中的 AppDomain。如果要在该过程中附加到未处理的异常,则必须将代码放在AddInAdapterorAddInView中。

于 2014-08-08T16:45:10.477 回答