Excel在Visual Studio 2010的调试模式下无法打开/启动VSTO AddIn

12

我之前安装了VS11测试版,我的Visual Studio 2010存在一些问题,你可以在这里看到它们是如何得到解决的:Excel AddIn Click Once deployment issue.

现在我有一个能够编译/构建vsto的代码库,在Excel 2010中安装和运行都很正常。但是,当我从Excel中删除已安装的版本,并尝试直接通过Visual Studio 2010运行它时,在调试配置模式下AddIn不会加载到Excel中,在发布配置模式下工作正常。为什么会出现这种情况呢?我尝试了重新启用Com AddIns和其他一些方法,但没有成功。

6个回答

20

我找到了阻止我在“调试”配置模式下运行项目的问题。尽管在“发布”模式下可以工作,但某个时刻,插件被禁用(不确定是否使用这个术语)。此时,尝试从Excel内部重新启用不起作用。在注册表中,有一个文件夹标记禁用的AddIns。我从该文件夹中删除了所有键,除了“(Default)” ,现在我的插件在从Visual Studio 2010中以“调试”模式启动时可以工作。

HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Excel\Resiliency\DisabledItems

在此输入图片描述


这对于 Word 也适用,我通常在调试期间退出运行中的程序时会遇到问题。但是除了注册表之外,还有其他方法可以做到这一点吗? - ForEachLoop

1

我在Excel中遇到了同样的问题。

以下方法对我有效:

前往以下键值......

HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Excel\AddInLoadTimes

查看插件是否列出。如果是,请删除它。

现在再次从Visual Studio运行您的应用程序。

这对我很有效,希望能帮助其他人。


1

1

当您通过Visual Studio 2010运行时,它是否会在addin_startup事件中触发断点。如果没有,请尝试调试此方法

希望这可以帮助您。


它没有触发启动事件的断点。此外,它甚至没有安装我刚刚注意到的AddIn...因此,在该链接上进行调试不会创建日志文件。 - mservidio
1
你是否正在以管理员身份运行VS? - Kiru
我从未找到为什么这个项目只在发布模式下工作的原因。我将所有代码复制到一个新项目中,现在它可以工作了。我的旧项目中出现了一些损坏。我对文件进行了比较,但无法找到导致问题的原因。 - mservidio
2
你能否也检查一下插件是否已被禁用?请前往“文件”=>“选项”=>“加载项”=>在“管理”下拉菜单中选择“禁用的项目”,然后点击“转到”。 - Kiru
这个问题在我的新项目中又出现了。我正在编码、调试,一切都很顺利。然后我再次尝试以调试模式运行,但它无法在 Excel 中打开插件,也无法触发启动事件。于是我改为“发布”配置模式,它就可以工作了。我无法弄清楚这个问题是什么。 - mservidio
显示剩余5条评论

0
我也遇到了同样的问题,但我不理解的是:

为什么重新安装 Office 2016 后,我没有改变任何代码或 VS 设置,却收到 cant load 错误信息?

经过多个小时的修复 Office 和 VS 并获取相同的错误消息后,我观察到 Addin 在 Release 配置下启动良好,于是开始检查代码中两个配置之间的差异。 我发现 debug 配置正在定位到 x86 处理器 bug release 则定位到 any cpu

因此,在我的情况下,Office x64 没有加载 x86 dlls。


0

我遇到了一个与Word VSTO相关的相同问题,但我的注册表中没有Resiliency\DisabledItems文件夹,因此我认为它从未被硬禁用(如@mservidio的解决方案)。 对我起作用的是编辑HKEY_USERS\<user key>\Software\Microsoft\Office\Word\Addins\<Add-In name>中的清单路径,以反映“调试”路径而不是“发布”路径。

要找到正确的文件夹,最简单的方法可能就是搜索插件名称并检查任何清单键是否引用调试路径。

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接