【问题标题】:OneNote 2016 Add-in won't load. How to debug? More updated sample?OneNote 2016 加载项不会加载。如何调试?更多更新的样本?
【发布时间】:2017-04-29 00:42:51
【问题描述】:

我正在尝试实现 OneNote 加载项,但对缺乏 Microsoft 支持感到惊讶。我正在使用 Office Pro 2016。 经过几个小时的谷歌搜索,我发现了

  1. http://www.malteahrens.com/#/blog/howto-onenote-dev/
  2. https://github.com/OneNoteDev/VanillaAddIn

但在实施它们后,它们都导致我得到相同的结果 - 加载项已部署但无法激活。 “COM 加载项”对话框中显示以下错误消息: “加载行为:未加载。加载 COM 加载项期间发生运行时错误” 我尝试按照此处(https://blogs.msdn.microsoft.com/vsod/2008/04/22/troubleshooting-com-add-in-load-failures/)的步骤进行调试,但没有任何结果。 我还尝试按照此处 (OneNote 2013 Add-in won't load. How to debug?) 的步骤再次启用 OneNote 加载项日志记录,但没有任何结果,未创建日志文件,可能 Office 2016 的步骤不同。

任何帮助将不胜感激。 VS 项目模板?另一个更新的教程/示例?调查/修复“加载 COM 加载项期间发生运行时错误”的任何建议

【问题讨论】:

  • 尝试进入控制面板并修复 OneNote(或 Office)。有时这会有所帮助。 VanillaConsole 有效吗? (出于好奇)
  • 是的,VanillaConsole 确实有效。它显示层次结构、当前页面 ID 和页面 XML。
  • 尤金的最后一个问题很重要。确保您的插件和 OneNote 实例的位数相同,32 位或 64 位。
  • 问题是插件是 x86 构建的,而 OneNote 是 x64。现在添加已部署并在安装后激活。

标签: com office-interop onenote onenote-api


【解决方案1】:

首先,确保在尝试加载加载项之前安装了所有必需的先决条件。然后将日志语句添加到代码中以查看失败的确切位置。代码中是否有异常?

Microsoft Office 应用程序可以禁用行为异常的 VSTO 加载项。如果应用程序未加载您的 VSTO 外接程序,则该应用程序可能已硬禁用或软禁用您的 VSTO 外接程序。

当 VSTO 外接程序导致应用程序意外关闭时,可能会发生硬禁用。如果您在 VSTO 外接程序中的 Startup 事件处理程序正在执行时停止调试器,也可能会在您的开发计算机上发生这种情况。

当 VSTO 外接程序产生不会导致应用程序意外关闭的错误时,可能会发生软禁用。例如,如果应用程序在 Startup 事件处理程序执行时抛出未处理的异常,则应用程序可能会软禁用 VSTO 外接程序。在How to: Re-enable a VSTO Add-in That Has Been Disabled 文章中了解更多信息。

VBA 宏策略是否应用于 COM 加载项?是否允许加载未签名的 COM 加载项?

您是否尝试将基于 x86 的插件加载到基于 x64 的主机中?还是相反?

【讨论】:

  • 问题是插件是 x86 构建的,而 OneNote 是 x64。现在添加已部署并在安装后激活。
  • 很高兴听到 Nicolae!
猜你喜欢
  • 2013-11-30
  • 1970-01-01
  • 2011-07-13
  • 1970-01-01
  • 2017-11-27
  • 1970-01-01
  • 1970-01-01
  • 2018-06-05
  • 1970-01-01
相关资源
最近更新 更多