【问题标题】:Excel won't open/launch VSTO AddIn when running in debug mode of Visual Studio 2010在 Visual Studio 2010 的调试模式下运行时,Excel 不会打开/启动 VSTO 插件
【发布时间】:2017-07-29 06:02:18
【问题描述】:

我之前安装了 VS11 测试版,但我的 Visual Studio 2010 实例出现了一些问题,您可以在此处查看它们是如何解决的:Excel AddIn Click Once deployment issue

现在我有一个编译/构建 vsto 的代码库,它可以在 Excel 2010 中正常安装和运行。但是,当我从 Excel 中删除已安装的版本并尝试直接通过 Visual Studio 2010 运行它时,AddIn在调试配置模式下运行时不会加载到 Excel 中,在发布配置模式下它工作正常。关于为什么会发生这种情况的任何想法?我尝试通过 Com AddIns 重新启用它,以及其他一些没有运气的东西。

【问题讨论】:

    标签: visual-studio visual-studio-2010 excel vsto excel-interop


    【解决方案1】:

    我发现了一个问题,它不允许我在“调试”配置模式下运行我的项目,尽管它在“发布”模式下工作。在某些时候,插件被硬禁用(不确定这是否是要使用的术语)。此时,尝试从 Excel 中重新启用不会做任何事情。在注册表中,有一个文件夹,其中标记了禁用的加载项。我从这个文件夹中删除了除“(默认)”之外的所有键,现在我的插件在以“调试”模式从 Visual Studio 2010 启动时可以工作。

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

    【讨论】:

    • 这也适用于 Word,我遇到的问题通常是在调试期间退出正在运行的程序。但是除了注册表之外还有其他方法吗?
    【解决方案2】:

    当您通过 Visual Studio 2010 运行时,它会在 addin_startup 事件中遇到断点。 如果不尝试调试这个way

    希望对你有帮助

    【讨论】:

    • 它没有命中启动事件的断点。此外,它甚至没有安装我刚刚注意到的插件......所以该链接上的调试不会创建日志文件。
    • 您是否以管理员身份运行 VS?
    • 是的,发生了一些奇怪的事情。我只是将我的配置设置从“调试”更改为“发布”,当我运行它时,它会触发启动事件。所以它在'Release'配置模式下工作,但不是'Debug'
    • 我看到您的注册表项指向发布文件夹中的二进制文件。您可以在此处找到您的插件的注册表项 HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\Word\AddIns 或 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\Word\AddIns
    • 能否检查一下插件是否被禁用?转到 File => Options => Add-Ins => 在 Manage 下拉菜单中选择 Disabled Items,然后单击 GO
    【解决方案3】:

    您可以使用 Excel 重新启用硬禁用的加载项

    http://msdn.microsoft.com/en-us/library/ms268871(v=vs.80).aspx

    【讨论】:

      【解决方案4】:

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

      要找到正确的文件夹,最简单的方法可能是搜索加载项名称并检查所有清单键是否引用了调试路径。

      【讨论】:

        【解决方案5】:

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

        以下内容对我有用:

        转到以下键....

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

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

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

        这对我有用,希望它可以帮助其他人。

        【讨论】:

          【解决方案6】:

          我也遇到了同样的问题,不明白的是:

          为什么我要重新安装 Office 2016,我既没有更改代码,也没有更改 VS 设置,而是收到了 cant load 错误消息?

          经过许多小时,修复 Office 和 VS 并收到相同的错误消息,我观察到插件在 Release 配置中启动良好,我开始在我的代码中检查这两个配置之间的差异。 我发现debug 配置的目标是x86 proc bug releaseany cpu

          所以 Office x64 没有加载 x86 dll(在我的情况下)

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2015-11-06
            • 2015-03-20
            • 2015-07-23
            相关资源
            最近更新 更多