2010-05-06 5 views
0

J'ai créé un service dans VS 2008 appelé EmailReader. J'ai compilé, installé et démarré le service. Sa boucle de minuterie écrit des enregistrements dans un fichier journal, donc je peux voir qu'il est en cours d'exécution. J'essaye de joindre à lui dans VS 2008, mais le nom de processus est grisé dans la liste des processus disponibles, et le nom est "EmailReader.vshost.exe" au lieu de "EmailReader.exe".Impossible de joindre un service dans VS 2008

Il y a probablement une réponse simple, mais je ne le sais pas. Le faites vous?

+0

Ne pas utiliser la minuterie dans un service. Il peut s'écraser irrémédiablement. Voir les réponses à http://stackoverflow.com/questions/397744/net-windows-service-with-timer-stops-responding/397757#397757 – StingyJack

Répondre

2

Le fichier vshost.exe n'est pas le bon exe auquel vous voulez attacher. Ce sera emailreader.exe lui-même. Essayez de joindre au service. Une boîte de dialogue s'ouvrira avec tous les services. Essayez de cocher la case qui indique afficher tous les processus de tous les utilisateurs et également cocher la case qui indique afficher les processus de toutes les sessions.

0

Il est très probable que vous exécutez le service sous un ensemble d'informations d'identification différent de celui de Visual Studio. Assurez-vous que vous avez coché Afficher les processus pour tous les utilisateurs. Vous ne déboguez pas un vshost, vous devez déboguer l'instance du SCM.

0

D'abord, il y aurait deux cases à cocher dans la boîte de dialogue Attacher au processus. Réglez les deux comme coché. Cliquez sur la zone de liste où les processus sont répertoriés. Lorsque vous appuyez sur 'E' (comme dans votre cas), vous verriez un processus qui commence par 'e', ​​trouvez le nom de l'image exe que vous venez de construire. Une fois que vous êtes là le bouton de connexion sera automatiquement activé.

Ps: le nom exe que vous avez construit sera le même exe avec lequel vous avez exécuté l'outil installutil pour installer le service

Questions connexes