如何调试Vsix项目

时间:2014-07-09 12:17:17

标签: c# vsix vsixmanifest

我为我的项目创建了一个自定义测试运行器。所以我创建了一个可以在Visual Studio中注册的测试vsix项目。

我也知道我通过F5加载了扩展,然后加载了Visual Studio的实验实例,但是在我创建了我的vsix的Visual Studio实例中没有命中断点。

有人知道如何真正调试它吗?

2 个答案:

答案 0 :(得分:15)

我已经构建了一些Visual Studio扩展,但我从来没有找到调试VSIX的好方法。您可以启动实验实例,但我发现这是最慢的可能性。

这是我使用的工作流程:

  • 打开Visual Studio实例进行开发。加载解决方案。
  • 进行一些更改,构建。
  • 安装.vsix(双击\ bin \ debug中的vsix文件)
  • 启动一个新的Visual Studio实例进行测试。
  • 在Dev Visual Studio中,Debug - >附加到流程并选择devenv.exe
  • 在Dev Visual Studio中,设置一些断点。
  • 在Test Visual Studio中,创建/打开新解决方案并开始测试编码。

我发现这比启动VS实验实验要快得多。但它仍然非常艰巨。

我强烈推荐的另一件事是抽象尽可能多的Visual Studio API,因为你可以进行单元测试,并且只在Visual Studio中进行最少的测试。例如,在我正在进行的项目pMixins中,我已经抽象出了Visual Studio事件系统(VisualStudioEventProxy),这样我的基础设施就没有了对事件api的硬依赖,我可以编写一个模拟事件的测试。

答案 1 :(得分:14)

有点晚,但可能对其他人有帮助。 发现here的建议帮助我解决了在VS2012中调试vsix组件的问题。 简而言之:添加到项目属性"启动外部程序:" [你是视觉工作室路径],添加到"命令行参数" /rootsuffix Exp