4

assembly のメソッドの統合テストがありAます。アセンブリは、プロジェクト参照を介しAてアセンブリを参照します。BResharper 6.1 単体テスト シナリオで、Visual Studio 2010 デバッガーの下でそれらを実行します。テスト エンジンは、Microsoft のネイティブ MSTest です。

私は悪名高い

...\B.dllファイルが別のプロセスによって使用されているため、プロセスはファイルにアクセスできません。

メッセージ。他のプロセスがそのファイルを処理していないことを確認しました (たとえば、Sysinternal の Process Explorer を使用)。

デバッガーからテストを実行すると、正常に動作します。デバッガーで発生する理由と、それを修正するためにできることはありますか?

4

3 に答える 3

7

Sébastien の回答に基づいて、ビルド前のステップをテスト プロジェクトに追加し、vstest.*実行中の実行可能ファイルを自動的に強制終了しました。次のビルド前のコマンドは私にとってはうまくいきました:

taskkill /f /im vstest.*
exit 0

実行中の実行可能ファイルexit 0がない場合にビルドが失敗するのを防ぐために、コマンドは最後にあります。vstest.*

于 2015-05-01T13:29:33.027 に答える
7

同様の状況を見たことがありますが、タスク マネージャーで vtest.discoveryengine.exe と vtest.executionengine.exe がまだ生きていることを確認しました。私は両方を殺して、問題を解決しました。

于 2013-04-22T14:25:33.570 に答える
0

@mrtumnus の回答と回答 herevstest.*に基づいて、ビルド前のステップをテスト プロジェクトに追加し、実行可能ファイルを自動的に強制終了しました。

START taskkill /f /im vstest.*

STARTsoの代わりに使用するexit 0と、タスクが実行されていない場合でもエラーは発生しません。(ただし、コマンド ウィンドウが開きますが、これは少し面倒です)。

于 2016-10-22T06:19:29.883 に答える