2011-01-20 128 views
5

我已经构建了一个outlook插件,并且我想远程调试它在我的开发机器上运行的vm内(vm是xpsp3 x32和outlook 2010,我的开发机器是outlook x64的7 x64)如何远程调试vsto outlook插件?

我曾经(在用户帐户等方面搞了一些混乱之后)在vs2010和virtual box vm之间进行了远程调试。我可以附加到一个简单的测试应用程序并设置断点,并且它们会被击中。

但是,我似乎无法做到与Outlook插件相同。我不能只附加到在机器上运行的outlook.exe进程,因为这似乎没有加载插件模块,所以断点永远不会被击中。

我无法弄清楚如何让VS2010从本地生成的项目启动远程计算机上的Outlook,我试图遵循these msdn文档,但设置工作目录的说明似乎不起作用,所以如果我按照例子的建议设置它并开始调试,它会出现一条消息,指出该文件夹不存在。

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

有没有人成功地远程调试vsto插件?我究竟做错了什么?

+0

同样的问题,我给它一试! – 2013-02-26 17:34:53

回答

3

我知道这是一个很古老的问题,但以防万一有人遇到这个帖子,这里是一个解决方案:

  1. 在主机上,在VSTO项目,在顶部加入这个的启动方法。

    MessageBox.Show("Debug"); 
    
  2. 部署在添加到远程计算机,打开Outlook和消息框应显示

  3. 运行在远程机器
  4. 在Visual Studio远程调试监视器在主机上,设置一个断点在消息框后面的行上
  5. 在Visual Studio中,从菜单中选择调试/附加到进程并附加到在远程计算机上运行的Outlook进程
  6. 在远程计算机上,单击确定按钮在消息框您在步骤1
  7. 添加您在步骤5中设置的断点现在将打
这里
+0

善于思考 – Matt 2013-06-19 07:25:09