web-dev-qa-db-ja.com

MyApp.vshost.exeを強制終了できません

Devenvのインスタンスが実行されていない状態になりましたが、バックグラウンドでMyApp.vshost.exeがまだ表示されています(表示されるウィンドウやコンソールはありません)。

TaskManager、ProcessExplorer、およびコマンドライン(taskkill /F /IM MyApp.vshost.exe)、それらのいずれも文句を言いません、コマンドラインは「PID 5824が停止しました」とさえ言います、しかし、それはまだそこにあります。

再起動できることは知っていますが、この一番下に到達したいです。

この問題のようには見えません( http://support.Microsoft.com/kb/982551 )。何も問題なく再起動できるためです(実際には持っているだけなので、さらなる診断を提供するために、申し訳ありません)。

[〜#〜] edit [〜#〜]

これが私がこの漬物に入った方法です:

alt text

59
Benjol

次の手順に従うことで、永続的なvshostプロセスを強制終了できました(VS2010):

  1. 実行可能プロジェクトのプロパティを開きます
  2. [デバッグ]タブで、[Visual Studioホスティングプロセスを有効にする]のチェックを外します
  3. プロジェクトファイルを保存する

それだけで、プロセスは停止し、Visual Studioを再起動する必要はありませんでした。

89
Eat at Joes

このタスクの通常の動作のようです。強制終了すると、タスクが再開されます。したがって、*。vshost.exeタスクを閉じるVisual Studioを閉じることをお勧めします。

21
Nicolas

ターゲットフレームワークとして.NET 2.0を使用するプロジェクトで作業しているときに、同じ問題が発生しました。ターゲットフレームワークを.NET 4.0クライアントに一時的に変更してくれました。

ただし、Iamは、これがファイルロックの問題にどのように関連しているか(不明ですか?).

1
binary101010

多分それは https://stackoverflow.com/a/1582747/254041 (保留中のI/Oプロセス)で説明されているのと同じ問題です:

MSDN API refは、「TerminateProcessが終了を開始してすぐに戻る。これにより、プロセス内のすべてのスレッドの実行が停止し、保留中のすべてのI/Oのキャンセルが要求されます。終了したプロセスは、保留中のI/O完了またはキャンセルされました。」つまり、I/Oはこのプロセスをブロックする可能性があります(プロセスを100%にする方法は疑問ですが、I/Oは通常それを行いません)。

1
habakuk