如何远程调试vsto outlook addin?

时间:2011-01-20 07:06:52

标签: visual-studio-2010 vsto remote-debugging

我已经构建了一个outlook插件,我想远程调试它在我的开发机器上的vm中运行(vm是xpsp3 x32和outlook 2010,我的开发机器是7 x64与outlook 2007)

我(在用了很多关于用户帐户等问题之后)得到了vs2010和虚拟机vm之间的远程调试工作。我可以附加到一个简单的测试应用程序并设置断点,然后它们就会被击中。

然而,我似乎无法对outlook addin做同样的事情。我不能只附加到机器上运行的outlook.exe进程,因为它似乎没有加载插件模块,所以断点永远不会被击中。

我无法弄清楚如何让VS2010从本地构建的项目启动远程机器上的Outlook,我尝试按照these msdn docs但是设置工作目录的说明似乎没有工作,所以如果我按照示例建议设置并开始调试,则会显示一条消息,指出该文件夹不存在。

如果我将outlook addin项目的调试属性中的Start Action设置为'Start External Program'并将其指向outlook exe,那么VS2010将成功启动应用程序,但是,断点不会被击中,甚至虽然它似乎表明它们已成功设置。

有人在远程调试vsto插件方面取得了成功吗?我做错了什么?

1 个答案:

答案 0 :(得分:3)

我知道这是一个很老的问题,但万一有人遇到这篇文章,这里有一个解决方案:

  1. 在主机上的VSTO项目中,将其添加到启动方法的顶部。

    MessageBox.Show("Debug"); 
    
  2. 将添加部署到远程计算机,打开Outlook并显示MessageBox

  3. 在远程计算机上运行Visual Studio远程调试监视器
  4. 在主机上,在MessageBox
  5. 之后的行上设置断点
  6. 在Visual Studio中,从菜单中选择“调试/附加到进程”并附加到远程计算机上运行的Outlook进程
  7. 在远程计算机上,单击您在步骤1中添加的MessageBox上的“确定”按钮
  8. 现在将点击您在步骤5中设置的断点