我正在使用MAF进行Addin开发。一切似乎都运转正常,但需要对一个问题进行排序......
我在他们自己的过程中激活插件,即使用
var process = new AddInProcess(); myAddinToken.Activate(过程,AddInSecurityLevel.FullTrust);
当加载项中出现未处理的异常时,我的主机崩溃了! 由于我在一个单独的过程中运行插件,为什么我仍然看到我的主机应用程序因为广告中未处理的异常而崩溃?
是不应该简单地使加载项特定的专用进程崩溃,并使主机进程保持原样?
任何想法如何解决这个问题?
答案 0 :(得分:0)
崩溃你的应用程序有什么例外?
您是否有来自AddIn的UI元素?
使用UI我必须正确关闭/处置主机端的UI元素,并捕获RemotingException
也许这会对你有所帮助:
AddInToken grailAddInToken = addInTokens[0];
AddInProcess addInProcess = new AddInProcess();
addInProcess.Start();
Process process = Process.GetProcessById(addInProcess.ProcessId);
process.EnableRaisingEvents = true;
process.Exited += (s, e) => synchronizationService.Invoke(() =>
{
window.Close();
});