2012-03-01 26 views
6

Cuando ejecuto una compilación, a veces veo un cambio de código que olvidé. Entonces quiero cancelar la compilación. Debido a la compilación que bloquea mi IDE, tengo que usar Ctrl + Descanso, sin embargo, no responde lo suficientemente rápido.Cómo cancelar la creación de Visual Studio usando la línea de comando?

Estoy buscando un enfoque de línea de comandos, así que solo puedo presionar un archivo por lotes en mi inicio rápido. yo probamos este comando:

Taskkill /IM aspnet_compiler.exe /F 

Sin embargo, esto sólo se detiene el proyecto actual del edificio y el siguiente en mi solución multi-proyecto se pone en marcha.

¿Cómo puedo cancelar una construcción usando la línea de comando?

Respuesta

1

He encontrado un método crudo que funciona bien para mí.

Tengo la siguiente secuencia de comandos por lotes.

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

(Arriba, 10 = segundos)

continuación hago un acceso directo de ese archivo por lotes en la misma carpeta que me permite hacer lo adicional.

  • Asigne una imagen de icono para la barra de inicio rápido.
  • Configúrelo para ejecutar minimizado.
  • Asigna un combo global de atajos.

En VS2010, que han establecido CTRL +SHIFT +B como toda mi construcción. (no reconstruir)

Para el atajo y debido a que mis dedos usualmente todavía están en el área cuando veo un cambio de código olvidado. Mi acceso directo lotes combinación de teclas es CTRL +SHIFT +ALT +B.

5

El siguiente detiene las compilaciones para todos los proyectos, a través de todas las instancias de Visual Studio:

taskkill /im msbuild.exe /f 
+0

Este comando no funciona. Cuando mi visual studio construye, no hay MSBuild.exe en la lista de procesos. –

+0

Visual Studio no genera 'MSBuild.exe' como un proceso separado. Utiliza el "Framework" de MSBuild en proceso. Ni siquiera lanza 'CSC.EXE' (el compilador de C#), por cierto, también utiliza un proceso para eso. –

+0

Lo siento, estaba en modo C++ (para lo cual funciona) – Fraser

1

Desafortunadamente, Visual Studio es el compilador. aspnet_compiler es para compilar vistas, por eso lo ve aparecer en la lista.

Puede verificar obteniendo process explorer y observando el árbol de procesos. Notará que devenv nunca genera msbuild, csc o cualquier otro compilador. Pero devenv aumenta en CPU y E/S.

12

Tuve que agregar la bandera /t para matar todo el árbol de proceso MSBuild.exe. Es decir:

taskkill /im msbuild.exe /f /t 

En mi caso, comienzo MSBuild.exe de GNU Emacs y por alguna razón GNU Emacs no siempre es capaz de matar al MSBuild.exe si quiero reiniciarla. Yo uso esto como una copia de seguridad.Estoy haciendo C++ en VS2010.

+1

¿Qué hace el indicador '/ t'? Necesitamos comprensión, no solo una receta para la respuesta. – eh9

+0

/T le dice a Windows que finalice el proceso, así como cualquier proceso secundario. Observé que MSBuild.exe puede generar procesos secundarios mientras se ejecuta. Sin matar a todos los niños, la compilación se puede dejar en un estado impredecible (o puede continuar ejecutándose de alguna manera). Una buena forma de observar es usar la herramienta sysinternals, Process Explorer (procexp.exe). Puede ver MSBuild.exe engendrar varios hijos. –

-1

Vaya al menú BUILD y luego haga clic en la opción: CANCELAR. probado en VS2013.

Cuestiones relacionadas