visual tutorial studio snippets snippet para instalar espaƱol configurar code autocompletar visual-studio visual-studio-2010 prebuild pre-build-event

visual-studio - tutorial - snippets visual studio code



Tragar errores en los pasos previos a la compilaciĆ³n en Visual Studio 2010 (5)

¿Incrustar el comando en un ejecutable que siempre devuelve 0 resuelve su problema?

en c llamada

system("net stop myservice")

Mi solución tiene un montón de proyectos, uno de los cuales es un servicio de Windows; Tengo un paso previo al desarrollo para detener el servicio y un paso posterior al desarrollo para reiniciarlo (de esta manera, el archivo exe del servicio de Windows no se bloquea cuando VS lo está creando / sobrescribiendo).

on pre-build: net stop myservice on post-build: net start myservice

Si el servicio no se está ejecutando mientras estoy iniciando la compilación, el comando net stop falla y eso impide que la compilación continúe.

¿Qué puedo hacer para forzar aún la compilación incluso si el paso previo a la compilación falló?



Lo descubrí: simplemente debes agregar la siguiente declaración al final:

SET ERRORLEVEL = 0

o simplemente:

EXIT 0


No hay necesidad de redireccionar stdout, solo stderr. Además, set errorlevel permite tener líneas adicionales más tarde si lo necesita. La salida terminará inmediatamente.

taskkill /f /im:$(TargetFileName) 2>nul &set errorlevel=0

Trabaja en VS 2017.


Sé que este es un post antiguo, pero recientemente también tuve este problema. Quería terminar el proceso que estaba construyendo si se estaba ejecutando actualmente, y encontré que podía hacer:

taskkill /f /im $(TargetName).exe 2>nul 1>nul Exit 0

2>nul 1>nul sin la Exit 0 , o viceversa, no parece funcionar. Tengo que hacer ambas cosas.

También vale la pena señalar que está utilizando Visual Studio Express 2012.

Encontré la solución al analizar este problema también en este blog.

El 2> nul 1> nul tragará el stderr y stdout del comando. El EXIT 0 se asegurará de que el evento de construcción devuelva 0.