0

我正在尝试测试使用 Visual Studio 2015 Shell(隔离)的应用程序。

为了使用 Visual Studio 测试扩展包,我找到了旧版本的示例。它们看起来像这样:

[TestMethod]
[HostType("VS IDE")]
public void CreateVisualization()
{
    TestUtils testUtils = new TestUtils();
    testUtils.CloseCurrentSolution(__VSSLNSAVEOPTIONS.SLNSAVEOPT_NoSave);
    testUtils.CreateProjectFromTemplate(TestContext.TestDir, "MyProjectType", "MyProjectType.zip");
    testUtils.CloseCurrentSolution(__VSSLNSAVEOPTIONS.SLNSAVEOPT_NoSave);
}

我的问题是我无法调试这些测试,因为调试器没有附加到VS IDE主机进程。有一次,我删除了 HostType-annotation,我可以设置断点并对其进行调试,但是测试并没有在正确的进程中运行。我通过在测试中编写一个无限循环然后手动附加到启动的进程(这将启用调试)来验证附加不起作用。

有没有办法在开始测试时自动将 Visual Studio 调试器附加到启动的进程,这样我就可以在没有手动“附加到进程”步骤的情况下进行调试?

编辑:

我尝试了几种解决方案,但到目前为止没有任何效果:

4

1 回答 1

1

如果要将调试器设置为自动附加将启动的进程,可以使用注册表编辑器,但不方便:

https://msdn.microsoft.com/en-us/library/a329t4ed(v=vs.100).aspx

一个简单的方法是您可以使用 Eyal Rosner 在这里编写的这个工具:

http://www.codeproject.com/Articles/1090417/How-to-Set-Debugger-to-Auto-Attach-on-Process-Star

我们很容易设置注册表编辑器。

在此处输入图像描述

于 2016-09-08T09:21:37.320 回答