Solución:
Utilice el siguiente código en servicio OnStart
método:
System.Diagnostics.Debugger.Launch();
Elija la opción Visual Studio en el mensaje emergente.
Nota: Para usarlo solo en modo de depuración, #if DEBUG
La directiva del compilador se puede utilizar de la siguiente manera. Esto evitará la depuración accidental o en el modo de lanzamiento en un servidor de producción.
#if DEBUG
System.Diagnostics.Debugger.Launch();
#endif
También puedes probar esto.
- Cree su servicio de Windows e instálelo y comience…. Es decir, los servicios de Windows deben estar ejecutándose en su sistema.
- Mientras su servicio se está ejecutando, vaya a la Depurar menú, haga clic en Adjuntar proceso (o proceso en el antiguo Visual Studio)
- Busque su servicio en ejecución y luego asegúrese de Mostrar proceso de todos los usuarios y Mostrar procesos en todas las sesiones está seleccionado, si no, selecciónelo.
- Haga clic en el Adjuntar botón
- Hacer clic OK
- Hacer clic Cerrar
- Establezca un punto de interrupción en su ubicación deseada y espere a que se ejecute. Depurará automáticamente cada vez que su código llegue a ese punto.
- Recuerde, ponga su punto de ruptura en lugar accesible, si esto es onStart(), luego detenga e inicie el servicio nuevamente
(Después de mucho buscar en Google, encontré esto en “Cómo depurar los servicios de Windows en Visual Studio”).
Debe separar todo el código que hacer cosas del proyecto de servicio en un proyecto separado, y luego cree una aplicación de prueba que pueda ejecutar y depurar normalmente.
El proyecto de servicio sería solo el shell necesario para implementar la parte de servicio del mismo.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)