Visual Studio 2015 Shell (Isolated) を使用しているアプリケーションをテストしようとしています。
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 アノテーションを削除すると、ブレークポイントを設定してデバッグできますが、正しいプロセス内でテストが実行されません。テスト内に無限ループを記述し、開始されたプロセスに手動でアタッチすることで、アタッチが機能しないことを確認しました (これにより、デバッグが可能になります)。
テストの開始時に Visual Studio デバッガーを開始されたプロセスに自動的にアタッチする方法はありますか?
編集:
いくつかの解決策を試しましたが、これまでのところ何もうまくいきませんでした:
- MSTest を介した統合テスト中に VS IDE をホストする方法は? Visual Studio を起動しましたが、アプリケーションは起動しませんでした
- Visual Studio: プロセスが生成されたときにプロセスに自動アタッチすると、さまざまな結果が得られました。
Debugger.Launch
動作しますが、退屈な「Select Debugger ...」ダイアログを受け入れる必要があります - テストを実行 (およびデバッグ) するときだけでなく、アプリケーションを起動するときに常に jit-debugger を起動するため、デバッガーを自動的にアタッチする Microsoft 独自の推奨方法は機能しません。