问描述:
加载插件导致outlook崩溃(向outlook2016拖入文件,之间显示)
由于对插件的编程几乎不理解就有了上文,然后不知道为啥,心里一个尽的想着,让插件自己重启就ok了,看看插件哪里出错了。
但是实际上市什么,LoadBehavior的值决定了你说加载还是不加载,怎么加载插件。。。。
然后和你没有什么球关系。但是为啥会崩溃呐。
LoadBehavior = 3 (载并且每次Office程序启动时都装载 ,一般设置为3),崩溃有两个原因。
Microsoft Office 应用程序可以禁用加载时发生意外行为的外接程序。如果应用程序在您尝试调试外接程序时没有加载该外接程序,则说明应用程序可能已硬禁用或软禁用您的外接程序。重新启用外接程序的过程因应用程序的不同而不同。
1、硬禁用发生
硬禁用的外接程序当在加载了外接程序的情况下运行的用户代码导致应用程序意外关闭时,以及当构造函数或 Startup 事件处理
程序正在执行的情况下停止调试器时,会发生硬禁用。
重新启用插件:
Microsoft Office 2003
帮助 ——> 关于 Microsoft Office <应用程序名称> ——> 禁用项目——>Addin:<外接程序名称>AddinLoader.dll——>启用
2007 Microsoft Office
Microsoft Office 按钮 ——> <应用程序名称> 选项 ——> 加载项 ——> 禁用的应用程序加载项 ——> 名称 ——> 位置 ——> 管理 ——> 禁用的加载项 ——> 开始 ——> 启用 ——> 关闭
2、软禁用的繁盛
软禁用外接程序当外接程序在构造函数或 Startup 事件处理程序中引发未处理的异常,而应用程序未意外关闭时,会发生软禁用。
注意:重新启用软禁用的外接程序时,应用程序会立即尝试加载该外接程序。如果最初导致应用程序软禁用外接程序的问题未解决,则应用程序将再次软禁用该外接程序。
对于Microsoft Office 2003 中的应用程序,有两个不同的过程。您使用的过程取决于应用程序。
然后针对实际情况我我只能,查看代码,但是暂未发现什么不合理的地方。就添加了日志(同事重启该插件后问题不再复现)。和ThisAddIn_Startup对应DispEventAdvise(看是否是在建立连接的时候出错,静待佳音吧,看会不会出现)
参考资料:
LoadBehavior