如何让 Visual Studio 在执行构建之前关闭正在运行的进程?

问题描述 投票:0回答:5

我正在使用 Visual Studio 2010 构建 WinForms 应用程序。每次更改代码时,我都必须运行该应用程序并检查它的工作原理。问题是我经常这样做,一旦我忘记关闭应用程序的前一个实例,编译器就会生成错误“进程无法访问文件 bin\Debug....”。是否可以让 Visual Studio 在执行构建之前关闭正在运行的实例?

visual-studio-2010
5个回答
33
投票

将以下内容添加到项目预构建事件中(基于接受的答案):

taskkill /f /fi "imagename eq $(TargetFileName)"

在进程未运行的情况下,其他答案中使用的命令可能会导致错误。

此变体使用过滤器 (

/fi
),即使有 0 个匹配也不会“失败”。


9
投票

除了 Morten 的回答:

使用 taskkill,然后忽略错误

taskkill /F /IM "$(TargetFileName)"
exit 0

7
投票

一个想法:为使用 Taskkill 终止进程的可执行项目进行预构建步骤。在这里阅读有关 Taskkill 的更多信息:http://technet.microsoft.com/en-us/library/bb491009.aspx


4
投票

来自另一个 stackexchange 答案的以下代码对我有用。

将 name='chromedriver.exe' 的 wmic 进程删除


0
投票

如果 $(TargetFileName) 是 DLL,则此方法有效。

taskkill /f /fi "imagename eq $(ProjectName).exe"
© www.soinside.com 2019 - 2024. All rights reserved.