vsix - 如何调试 Vsix 项目

标签 vsix vsixmanifest

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

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

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

最佳答案

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

这是我使用的工作流程:

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

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

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

关于vsix - 如何调试 Vsix 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24653486/

相关文章:

visual-studio - Visual Studio 扩展性 : How to control the loading order of components?

visual-studio - 签名并更新 Visual Studio 扩展

visual-studio-2010 - 如何创建运行 VSIX 方法的快捷方式?

.net - 如何在 VSIX 包卸载时执行自定义代码?

visual-studio - vsixmanifest面向所有人:VS 2010、2012和2013

visual-studio-2013 - 如何创建面向 Visual Studio Community Edition 的 Visual Studio 扩展 (vsix)

c# - 通过扩展在 Visual Studio 设计器中的 windows.forms.controls 上绘制装饰

visual-studio-2010 - 如何使用 WIX 自动安装 VSIX 包?

azure-devops - Blazor 路由在 Azure DevOps iframe 中失败