C# 如何调试不会在Windows 10中加载的Visio加载项

C# 如何调试不会在Windows 10中加载的Visio加载项,c#,windows,visual-studio-2012,vsto,visio,C#,Windows,Visual Studio 2012,Vsto,Visio,我有一个Visio 2007加载项,它在Windows 7上运行良好,但在Windows 10上运行时不会加载相同的加载项。在Visio的信任中心中,加载项在Windows 10上显示为“非活动”。外接程序进入注册表,但只要Visio启动,LoadBehavior就会从3变为2。我理解这意味着Visio尝试加载加载项时出现运行时错误 此加载项是用Visual Studio 2012中的C#编写的。已安装VSTO 2010(自动信任中心验收所需)。也许如果我能找出运行时错误是什么,我就能取得进展。

我有一个Visio 2007加载项,它在Windows 7上运行良好,但在Windows 10上运行时不会加载相同的加载项。在Visio的信任中心中,加载项在Windows 10上显示为“非活动”。外接程序进入注册表,但只要Visio启动,LoadBehavior就会从3变为2。我理解这意味着Visio尝试加载加载项时出现运行时错误

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


另一个开发人员可以从Visual Studio 2012在Windows 10上运行此加载项,但我们无法确定这台计算机与我的有什么区别。其他几个Windows 10计算机无法运行此加载项,因为它始终处于非活动状态(LoadBehavior=2)。我们的目标是在Windows 10上部署此加载项,就像它已经在Windows 7上部署一样。

我发现AddInSpy很有帮助,但它没有直接指出问题所在。

它显示了来自外接程序的错误消息: “找不到加载项DLL路径” 但这并不是真正的问题。(外接程序的路径有效。)另一个问题导致外接程序无法加载,这在AddInSpy中导致了这条有点误导性的消息

AddInSpy还显示了使用中的VSTOR版本=2008。搜索VSTOR时,我发现许多版本都可以使用.NET3.5。我的Windows 10计算机没有安装.NET 3.5。安装.NET3.5后,外接程序工作正常


总结:AddInSpy帮助(间接)发现外接程序未加载,因为我的Windows 10计算机上未安装.NET 3.5。

运行addin时是否检查了Visual Studio中的输出窗口?@MoonBoots89是的,Visual Studio中的输出窗口在显示调试输出时为空。