C# 如何附加到VSTO Excel应用程序进程以进行调试?

C# 如何附加到VSTO Excel应用程序进程以进行调试?,c#,excel,vsto,C#,Excel,Vsto,我有一个Excel VSTO 2005应用程序需要调试,我尝试在Visual Studio 2005中附加到进程Excel.EXE,但没有成功 有人知道如何调试在VSTO Excel应用程序中运行的托管代码吗?我没有使用Excel,但在Word中使用VSTO时,将调试器附加到WINWORD进程会起作用,但会导致无法调试启动代码,因为它在您可以附加之前已经运行过。在这种情况下,您可以插入 Debugger.Launch(); 这将停止您的代码并要求附加调试器。这是我能找到的最好的解决方案。我使用

我有一个Excel VSTO 2005应用程序需要调试,我尝试在Visual Studio 2005中附加到进程Excel.EXE,但没有成功


有人知道如何调试在VSTO Excel应用程序中运行的托管代码吗?

我没有使用Excel,但在Word中使用VSTO时,将调试器附加到WINWORD进程会起作用,但会导致无法调试启动代码,因为它在您可以附加之前已经运行过。在这种情况下,您可以插入

Debugger.Launch();

这将停止您的代码并要求附加调试器。这是我能找到的最好的解决方案。

我使用的是VS2008和VSTO 2005(Office 2003),我可以直接从VS本身进行调试。不太确定VS2005,我想它应该是一样的。

我已经做了,它应该和Word没有什么不同。 检查是否有多个进程。确保外接程序已实际加载。它可能被禁止启动。检查外接程序下的设置,看看它是否被列为已停用。

我通常包括一个“停止开关”,当app.config文件中启用停止开关时,它会启动调试器

  • StopSwitch停止执行以进行实时调试(在)

启用
StopSwitch
后,有时JIT调试器不会启动,因为问题发生在.NET Framework加载程序集并执行
Stop
语句之前。

我使用Word加载项完成了此操作,但是我必须在调试器选项中禁用“仅我的代码”。

您也可以使用VS2005(Office 2007)进行调试。您知道OP要求对Excel.exe中运行的VSTO加载项进行远程调试,是吗?VSTO应用程序的本地调试非常简单。