Outlook VSTO加载项Release模式加载失败及部署相关疑问
问题背景
我使用Visual Studio 2019开发面向Outlook 365的VSTO加载项,希望进行测试部署安装,而非依赖Visual Studio的Debug模式运行。原本以为第一步是在VS中以Release模式运行加载项,但该模式下加载项始终无法在Outlook中加载。
首次尝试时,弹出提示“未处于Debug模式”的窗口,提供了“Stop Debugging”“Run Just My Code”等选项,我选择“Stop Debugging”后,Outlook启动但未加载加载项,Outlook选项显示该加载项因“导致Outlook崩溃”被禁用。此后无论怎么清理Release和Debug版本、删除项目文件夹相关文件,都无法再调出这个弹窗。
我的加载项在Debug模式下运行完全正常。我参考了关于Outlook加载项“hard禁用”和“soft禁用”的说明操作后,Release模式下仍无法加载;检查注册表项发现,加载项已被添加到Outlook的Never Disable项中。
核心疑问
- 首次弹窗时是否应该选择其他选项?如何重新调出该弹窗?
- Release模式下运行时,是否需要手动添加注册表项才能让Outlook加载加载项?毕竟Debug模式下Visual Studio会自动完成这个操作,这似乎不符合直觉。
- 是否必须先让加载项在VS的Release模式下正常运行,才能按照微软的说明创建安装程序?能否直接用Debug版本创建安装程序?微软的安装说明未提及必须使用Release版本,某Excel加载项部署视频显示直接使用Debug版本,但用Debug版本部署是否会像视频讨论的那样,移除调试符号并进行性能优化?
- 开发Outlook VSTO加载项时,是否有必要在Visual Studio中使用Release模式?多方搜索未找到相关官方文档。
更新记录
更新1:Debug版本创建安装程序失败
尝试用Debug版本创建独立安装程序时失败,创建安装项目后,即使在Debug模式下,加载项也无法在Outlook中加载,Outlook弹出“unhandled exception”弹窗,但Visual Studio中没有任何异常提示。我提前备份了解决方案,恢复后清理解决方案才恢复正常。
更新2:问题解决进展
我意识到在Visual Studio中按“Start”按钮启动Outlook是Release模式下问题的根源——因为VS调试器仍会尝试挂钩运行中的加载项。于是我清理了Debug版本,切换到Release模式,仅生成解决方案而非点击Start按钮。
起初加载项仍未加载,但这次的原因变为“拖慢Outlook”而非崩溃。我删除了注册表中的Outlook\Resiliency\DisabledItems项,直接启动Outlook而非通过VS的Start按钮,最终加载项成功加载。接下来我将尝试使用Release版本重新创建安装程序,目前已对Visual Studio为Debug和Release版本创建/删除的文件及注册表项有了清晰认识,也明确了安装程序需要执行的操作。
内容的提问来源于stack exchange,提问作者wopr_xl

