如何使用命令行取消Visual Studio构建?

时间:2012-03-01 04:18:44

标签: visual-studio-2010 msbuild

当我运行构建时,有时我会看到代码更改,我忘了。所以我想取消构建。由于构建锁定了我的IDE,我必须使用 Ctrl + Break ,但是它的响应速度不够快。

我正在寻找命令行方法,所以我可以在快速启动时点击批处理文件。 我试过这个命令:

Taskkill /IM aspnet_compiler.exe /F

但是,这只会阻止当前项目的构建,并且我的多项目解决方案中的下一个项目将启动。

如何使用命令行取消构建?

7 个答案:

答案 0 :(得分:17)

我必须添加/t标志才能终止整个MSBuild.exe进程树。那就是:

taskkill /im msbuild.exe /f /t

在我的情况下,我从Gnu Emacs开始MSBuild.exe,由于某种原因,如果我想重新启动它,Gnu Emacs并不总能杀死MSBuild.exe。我用它作为备份。我在VS2010中做c ++。

答案 1 :(得分:6)

以下内容在所有Visual Studio实例中停止所有项目的构建:

taskkill /im msbuild.exe /f

答案 2 :(得分:1)

不幸的是,Visual Studio是编译器。 aspnet_compiler用于编译视图,这就是你看到它在列表中产生的原因。

您可以通过获取process explorer并查看流程树来进行验证。你会注意到devenv永远不会生成msbuild,csc或任何其他编译器。但devenv确实在CPU和I / O中飙升。

答案 3 :(得分:1)

我想出了一个适合我的粗略方法。

我有以下批处理脚本。

@echo off
echo KILL BILLd
for /L %%i in (1,1,10) do (
   Taskkill /IM aspnet_compiler.exe /F
   timeout 1
)

(以上,10 =秒)

然后我在同一个文件夹中创建该批处理脚本的快捷方式,这样我就可以执行其他操作。

  • 为我的快速启动栏分配图标图像。
  • 将其设置为最小化执行。
  • 指定全局快捷键组合。

在VS2010中,我已将 CTRL + SHIFT + B 设置为我的构建全部。 (不是重建)。

对于快捷方式,因为当我看到遗忘的代码更改时,我的手指通常仍然在该区域中。我的批处理快捷键组合是 CTRL + SHIFT + ALT + B

答案 4 :(得分:1)

我有这个bash脚本,有耀斑。

@echo off

REM by jnh from http://www.chris.com/ascii/index.php?art=objects/explosives
echo "     _.---------------		"
echo " _--                  --_ 	"
echo "-                        -)   "
echo "|                         |   "
echo " \._                   _./ 	"
echo "    ```--. . , . .--''' 		"
echo "          | |   | 			"
echo "       .-=||  | |=-. 			"
echo "        `-=#$$$$$#=-'			"
echo "          | ;  :| 			"
echo "  _____.,-#$$$$$#&#~,._____   "
 
echo NUKE IT ALLLLLLL

REM kills all MSBuild processes
taskkill /F /IM MSBuild.exe /T

REM Just holds command window open long enough to admire explosion.
timeout 1

答案 5 :(得分:0)

实际上,我们也可以使用资源监控器的GUI进行操作。 enter image description here

例如,当我们编译项目时,某些文件被占用,例如“无法复制”等等。

步骤:

任务管理器->

性能->

资源监控器->

关联处理程序->

搜索“已占用的文件名。”

这种方法的优点是直观,不需要记住DOS命令,但是它的缺点是我们需要搜索和操作多次。

答案 6 :(得分:-1)

转到菜单BUILD,然后单击选项:CANCEL。在VS2013中测试。