He estado experimentando con el uso de eventos de compilación para iniciar y detener el servicio de Windows que se están construyendo en mi proyecto. Sin embargo, para el pre &, las compilaciones posteriores fallan con un nivel de error 255. Intenté detectar esto con la compilación previa sin suerte.Event Build pre y post para detener y reiniciar el servicio de Windows
Pre-Construcción
if "$(ConfigurationName)" == "Debug"
(
net stop myService
if errorlevel 2
if errorlevel 255
:exit
:exit
)
posterior a la generación
if "$(ConfigurationName)" == "Release"
(
copy $(TargetDir) C:\Media\Bin\$(ProjectName)
if errorlevel 1 BuildEventFailed
:BuildEventFailed
mkdir C:\Media\Bin\$(ProjectName)
copy $(TargetDir) C:\Media\Bin\$(ProjectName)
)
else if "$(ConfigurationName)" == "Debug"
(
net start myService
)
Yo prefiero tener 'detener, copiar, iniciar, exit' todo en post-construcción ya que la ruta de servicio probablemente no debe apuntar directamente a un/bin/carpeta de liberación. Esto también evita que el servicio se detenga, pero nunca se reinicia si la compilación falla por otros motivos. – Dan
@Dan tiene la respuesta correcta. Esto también le permite cambiar fácilmente a diferentes configuraciones de compilación, ramas, etc. sin reinstalar/redefinir el servicio. Desde un comentario en el enlace de SDM, también puede instalar automáticamente el servicio para que los nuevos desarrolladores funcionen. –