WPFアプリケーションがあります。アプリを閉じた後、そのプロセス_app.exe *32
_はタスクマネージャーのプロセスリストでまだ実行されています。
コードを編集すると次のエラーが発生するため、これを閉じる必要があります-
_Unable to copy file "obj\x86\Release\frontEndTest.exe" to "bin\Release\app.exe". The process cannot access the file 'bin\Release\app.exe' because it is being used by another process.
_
私はこの種の質問が以前に尋ねられたことを知っています ここ。
ただし、_Assembly.cs
_を-に変更しても、解決策は機能しませんでした。
_[Assembly: AssemblyVersion("2.0.0")]
[Assembly: AssemblyFileVersion("2.0.0")]
_
おそらく、_Window closed
_イベントを見つけて、イベントに-Process.GetCurrentProcess().Kill();
のようなものを入れて、ユーザーがアプリケーションを閉じたときに、の赤い_'x'
_ボタンからアプリケーションを閉じるとしたら、フォームの右上で、これはおそらくプロセスを強制終了しますか?
したがって、プロセスをシャットダウンした後も、プロセスはまだ生きています。これは通常、それを存続させるスレッドがあることを意味します。追跡する方法は次のとおりです。
まず、デバッガーでアタッチします。
次に、スレッドリストを開きます。
ダブルクリックeachここに表示されるスレッド:
そして、スレッドが現在行っていることに移動します。
それが、アプリのシャットダウンを妨げるものです。アプリを終了するには、そのループを終了する必要があります(または、Thread.IsBackground
をtrue
に設定します)。
Environment.Exit(0);
Terminates this process and gives the underlying operating system the specified exit code.
正常に完了すると、0が返されます。