我試圖測試使用Visual Studio 2015 Shell(獨立)的應用程序。將Visual Studio調試器附加到VS IDE主機
爲了用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註釋,我可以設置斷點並對其進行調試,但是然後測試不會在正確的過程中運行。我通過在測試內部編寫一個無限循環,然後手動附加到啓動的進程(這將啓用調試)來驗證附件不起作用。
有什麼辦法可以在啓動測試時自動附加Visual Studio調試器到啓動的進程,所以我可以在沒有手動「附加到進程」的情況下進行調試 - 一步?
編輯:
我試過幾種解決方案,但沒有到目前爲止的工作:
- How to host VS IDE during integration test via MSTest?啓動Visual Studio中,但不是我的應用程序
- Visual Studio: auto attach to a process when the process is spawned結果好壞參半。
Debugger.Launch
的作品,但仍然需要繁瑣的「Select Debugger ...」對話框被接受 - Microsoft's own suggested way to automatically attach the debugger不起作用,因爲它在啓動應用程序時總是啓動jit-debugger,不僅在運行(和調試)測試時。
你可以嘗試的另一件事情是[子進程調試工具(https://visualstudiogallery.msdn.microsoft.com/a1141bff-463f-465f-9b6d-d29b7b503d7a)。 –
@亞歷山大帕查,我也分享一個解決方案,有幫助嗎?你解決這個問題嗎? –
查看我的編輯:我已經測試了您發佈的所有解決方案(在發佈之前)。到目前爲止,它們都不能很好地解決VS IDE主機適配器連接的問題。但我很重視你的努力。 –