【问题标题】:C# - can't debug office word add-inC# - 无法调试 Office Word 加载项
【发布时间】:2010-11-19 15:25:41
【问题描述】:

这就是我所做的:

来自 VS2010 > 新建 C# 项目(来自其他项目类型 > 可扩展性 > 共享插件)> Connect 类中的一些基本配置

之后我在项目属性>调试>启动外部程序,winword的路径(C:\Program Files (x86)\Microsoft Office\Office12\WINWORD.EXE)

创建共享插件时,安装文件位于单独的项目中,位于同一解决方案中。所以我为加载项做了一个构建,并安装了它。

当我启动 word(单独或从 Visual Studio 中的调试开始)时,加载项运行良好,但似乎没有遇到任何断点?

如果我修改某些内容并只构建,当我再次启动 word 时,更改就在那里,所以它必须是 word 正在加载的正确 dll

问题当然是,我如何让断点工作?

【问题讨论】:

    标签: c# debugging ms-word add-in


    【解决方案1】:

    首先,如果您运行已安装的插件实例,中断将根本不起作用。您必须从 VS 内部启动插件才能进行任何调试(从技术上讲,这并不完全正确,我 + 认为 + 您可以“附加”到正在运行的实例,但我从未这样调试过。

    您需要确保您处于 DEBUG 构建配置中。发布模式不一定会设置为允许调试。

    您应该能够在启动之前重建整个解决方案。重建解决方案将在注册表中注册内容,以便单词 +SHOULD+ 发现您已正确添加。

    最后,确保在您的所有测试运行等期间,Word 没有禁用您的插件。检查 Options/Addins/Com Addins 并确保您在列表中并启用。

    如果您的插件由于某种原因失败,word 有禁用它的习惯,从那时起除非您重新启用,否则不会加载它。

    【讨论】:

    • 加载项有一个功能区选项卡,当我卸载加载项时,word 会删除功能区。如果我重新安装它会返回。如果我在卸载时在 VS 中运行,单词会启动但那里没有功能区。如果我在安装时点击运行,功能区在 word 中,但调试将不起作用。在任何情况下插件都不会被禁用(我已经检查过)
    • 它确实听起来像插件正在注册到已安装的副本,而不是在 VS 开始作为调试会话之前构建的副本。如果是这种情况,那么 word 正在加载错误的 dll 副本,并且 VS 没有挂接到它以进行调试。通常,执行 CLEAN,然后执行 FULL REBUILD 并最终从 VS 中运行应用程序将使其正确注册。除非您在本地计算机上没有适当的权限。
    • 附加到正在运行的进程可以正常工作,尽管它显然比按“F5”更麻烦。
    • 确实如此。从那以后,我了解了“附加到正在运行的进程”调试的工作原理。有点麻烦,但它确实允许您调试许多否则会很困难的情况。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多