【问题标题】:How to debug Visio add-in that will not load in Windows 10如何调试不会在 Windows 10 中加载的 Visio 加载项
【发布时间】:2017-11-27 12:54:51
【问题描述】:

我有一个适用于 Visio 2007 的加载项,该加载项在 Windows 7 上运行良好,但在 Windows 10 上运行时无法加载相同的加载项。在 Visio 的信任中心中,加载项显示为“非活动”在 Windows 10 上。加载项进入注册表,但一旦 Visio 启动,LoadBehavior 就会从 3 更改为 2。我理解这意味着 Visio 尝试加载加载项时出现运行时错误。

此加载项使用 C#、Visual Studio 2012 编写。已安装 VSTO 2010(自动接受信任中心所需)。也许如果我能找出运行时错误是什么,我就能取得进展。如何找到有关此运行时错误的更多信息?外接程序代码中的任何位置都不会命中断点,包括 InternalStartup()。在运行加载项代码之前似乎失败了。我设置了 Fusion 日志记录,但没有找到与 Visio 或加载项相关的消息,我不确定这是否是解决此问题的相关工具。我还设置了系统环境变量 VSTO_LOGALERTS = 1 和 VSTO_SUPPRESSDISPLAYALERTS = 0,但我没有看到任何警报或日志。

另一位开发人员能够从 Visual Studio 2012 在 Windows 10 上运行此加载项,但我们无法确定该计算机与我的计算机有何不同。其他几台 Windows 10 机器无法运行此加载项,因为它始终处于非活动状态 (LoadBehavior = 2)。目标是在 Windows 10 上部署此加载项,就像它已在 Windows 7 上部署一样。

【问题讨论】:

  • 您在运行插件时是否检查过 Visual Studio 中的输出窗口?
  • @MoonBoots89 是的,当显示 Debug 的输出时,Visual Studio 中的输出窗口是空白的。

标签: c# windows visual-studio-2012 vsto visio


【解决方案1】:

我发现 AddInSpy 很有帮助,但它并没有直接指出问题所在。 https://github.com/NetOfficeFw/AddInSpy

它向我显示了来自我的加载项的错误消息: “找不到加载项 DLL 路径” 但这不是实际问题。 (加载项的路径有效。)还有一个不同的问题导致加载项无法加载,从而导致 AddInSpy 中出现这条有点误导的消息。

AddInSpy 还显示了正在使用的 VSTOR 版本 = 2008。搜索 VSTOR,我发现许多版本都适用于 .NET 3.5。我的 Windows 10 机器没有安装 .NET 3.5。安装 .NET 3.5 后,插件工作了!

总结一下:AddInSpy 帮助(间接)发现加载项没有加载,因为我的 Windows 10 机器上没有安装 .NET 3.5。

【讨论】:

    猜你喜欢
    • 2013-11-30
    • 1970-01-01
    • 1970-01-01
    • 2017-04-29
    • 1970-01-01
    • 1970-01-01
    • 2019-01-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多