我正在尝试测试使用Visual Studio 2015 Shell(隔离)的应用程序。
为了使用Visual Studio测试扩展包,我找到了older versions的样本。它们看起来像这样:
[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调试器附加到已启动的进程,因此我可以在没有手册的情况下进行调试"附加到进程" -step?
修改
我已经尝试了几种解决方案,但到目前为止没有任何效果:
Debugger.Launch
有效,但仍需要繁琐的#34; Select Debugger ..."对话框被接受答案 0 :(得分:1)
如果要在启动的Process上将Debugger设置为自动附加,可以使用注册表编辑器,但这不方便:
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
我们很容易设置注册表编辑器。