Visual Studio 2015シェル(分離)を使用しているアプリケーションをテストしようとしています。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-annotationを削除すると、ブレークポイントを設定してデバッグできますが、テストは正しいプロセス内で実行されません。テストの中に無限ループを書いて、起動したプロセスに手動でアタッチすると(デバッグが可能になる)、アタッチが機能しないことを確認しました。
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 は、混合結果が得られました。
- Microsoft's own suggested way to automatically attach the debuggerは、テストの実行中(デバッグ中)だけでなく、アプリケーションの起動時に常にjit- 。 あなたが開始されますどのプロセスにアタッチautoにデバッガを設定したい場合は、レジストリエディタを使用することができます
Debugger.Launch
が機能しますが、退屈な「デバッガの選択...」ダイアログが受け入れられるようにする必要があります。
あなたが試すことができますもう一つは、[子プロセスのデバッグツール](https://visualstudiogallery.msdn.microsoft.com/a1141bff-463f-465f-9b6d-d29b7b503d7a)です。 –
@Alexander Pacha、私も解決策を共有しています、それは役に立ちますか?あなたはこの問題を解決しますか? –
私の編集を参照してください:投稿した(公開する前に)すべてのソリューションを既にテストしました。これまでのところ、いずれもVS IDEホストアダプタに接続するという特定の問題ではうまく機能しませんでした。しかし、私はあなたの努力をとにかく評価します。 –