Visual Studio如何进行Excel插件调试

3

我使用的是Visual Studio 2010,C#和.Net 4.0。

我知道如何创建工作良好的Excel插件。但是当我在调试插件项目时,对于VS2010实际上在做什么有些困惑。

似乎当VS2010在调试模式下调用Excel时,它使用了一种特殊的格式。然后Excel查看Add-In项目的Bin目录,遍历所有文件(生成的.dll、.vsto文件,也许还有.manifest或其他文件),加载Add-In,并在出现问题时向VS2010发送一些通知。

正如您所看到的,我不知道它是如何工作的。因此,我的问题是,您是否能够引导我找到任何描述调试Excel插件过程的文件?

如果您能提供任何关于从哪里开始的建议,我将不胜感激。非常感谢!

1个回答

5
当您开始调试会话时,VS会将您的插件安装为普通的Excel插件。然后,它启动Excel并将自己附加为Excel.exe的调试器。 VS调试器完全能够区分本地代码和.NET代码。
我上次编写Office插件是很久以前的事了,但如果我没有记错,VS2010不会自动清理。当调试会话终止时,它不会从Excel中删除该插件。您可能需要手动删除它。在VS的解决方案资源管理器窗格中,项目节点上可能有一个上下文菜单项,可以卸载它。
请明确一点:Excel不知道您的调试会话。调试仅限于VS调试器和Win32调试器API。
调试您的插件应该非常直接,并且不应违反已建立的VS调试体验。如果您对此过程有任何特定问题,我建议您提出。

非常感谢!非常有价值的回答!您能否告诉我,当VS2010安装我的插件时,它到底在做什么?是将.dll文件放入特定文件夹中,然后当Excel启动时识别新的.dll并加载它吗?还是VS调用了一些特殊的Excel API来安装插件? - user2925546
我不确定。我的印象是它会将ell推送到Excel的Add-Ins目录中,但我不确定。我现在没有时间去研究,但如果我有时间并且记得的话,我会更新我的答案。 - Sam Axe

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