申请流程不会关闭

时间:2012-06-20 09:54:21

标签: c# wpf process exe

我有一个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.

我知道在here.

之前已经提出过这类问题

但是,通过将我的Assembly.cs更改为 -

,该解决方案对我无效
[assembly: AssemblyVersion("2.0.0")]
[assembly: AssemblyFileVersion("2.0.0")]

我想也许,如果我在事件中找到Window closed事件并推送类似于Process.GetCurrentProcess().Kill();的内容,那么当用户从红色'x'按钮关闭应用程序时表格的右上角可能会杀死这个过程?

2 个答案:

答案 0 :(得分:47)

因此,在您关闭它之后,您的过程仍然存在。这通常意味着你有一个让它保持活力的线程。这是你如何追踪它。

首先,在调试器中附加它:

enter image description here

enter image description here

enter image description here

现在打开线程列表:

enter image description here

双击您在此处看到的每个主题:

enter image description here

你将被视为线程目前正在做的事情:

enter image description here

那就是阻止应用程序关闭的原因。必须退出该循环才能退出应用(或者,将Thread.IsBackground设置为true)。

答案 1 :(得分:10)

Environment.Exit(0);

Terminates this process and gives the underlying operating system the specified exit code.    
成功完成后返回

0。