Процесс подачи заявки не будет закрыт
У меня есть приложение 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'
в правом верхнем углу формы это может убить процесс?
Ответы
Ответ 1
Итак, ваш процесс все еще жив после того, как вы его закрыли. Обычно это означает, что у вас есть поток, который поддерживает его. Здесь вы можете отслеживать его.
Сначала присоедините его к отладчику:
![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
).
Ответ 2
Environment.Exit(0);
Terminates this process and gives the underlying operating system the specified exit code.
0 возвращается после успешного завершения.