Ich versuche, eine Verbindung zu einem Windows-Dienst mithilfe von Visual Studio 2010 herzustellen. → Debug → Attach to process command. Wenn ich durch die Liste der Prozesse scrolle, ist mein Windows-Dienst grau und die Schaltfläche zum Anhängen ist ebenfalls grau.
Ich habe versucht, das Dienstkonto in einen lokalen Dienst, mein Konto usw. zu ändern, aber es bleibt ausgegraut. Gibt es eine Möglichkeit, dies zu beheben?
Ich habe normalerweise das gleiche Problem und kümmere mich darum, indem ich meiner Konfiguration einen Boolean hinzufügte, der einen Debug-Start auslöst. Sie können eine Visual Studio-Debugger-Instanz starten, die mit Ihrem Windows-Dienstprozess verbunden wird, indem Sie Folgendes aufrufen:
System.Diagnostics.Debugger.Launch();
Was schön ist, ist, dass Sie es überall in Ihrem Code anrufen können.
Aktivieren Sie in Visual Studio 2010 im Dialogfeld "An Prozess anhängen" die beiden Kontrollkästchen unten, in denen " Prozesse aller Benutzer anzeigen " und " Prozesse in allen Sitzungen anzeigen " angezeigt werden.
Als ich das tat, stellte ich fest, dass mein Prozess zweimal auftauchte, einer als System und einer unter meinem lokalen Windows-Login. Ich bin mir nicht sicher, warum (jeder Input wäre großartig!), Aber ich konnte mich an den nichtgrauten anhängen, der auftauchte und meinen Code auch so durchgehen konnte.
Der zweite war der Prozess servicename.vshost.exe, wie Ozz in den Kommentaren hervorhob.
Wenn Sie es immer noch nicht sehen, stellen Sie sicher, dass Ihr Dienst noch läuft. Es kann vorkommen, dass ein fehlgeschlagener Dienst gestartet und automatisch angehalten wurde und daher nicht in den Optionen zum Anhängen an angezeigt wird.
Ich musste nicht nur show processes from all users
und die show processes in all sessions
Kontrollkästchen auswählen; Ich musste auch auf die Schaltfläche Select
klicken und dann den Code Managed
auswählen.
После установки службы Windows запустите ее. Weitere Informationen zu Visual Studio finden Sie unter Присоединить к процессу (Alt+Ctrl+P), свой процесс, выберите его и нажмите кнопка присоединения в нижней части окна.
Stellen Sie sicher, dass Sie Visual Studio als Administrator ausführen. Es sind Administratorrechte erforderlich, um an einen laufenden Dienst angeschlossen zu werden.
Ich löste mein Problem, indem ich die Art der Erstellung des Setups von RELEASE in DEBUG änderte. Und dann habe ich den Dienst installiert und wie üblich angeschlossen.
Möglicherweise verfügen Sie nicht über Berechtigungen zum Anhängen an den Dienst. Verfügen Sie über Administratorrechte auf dem Desktop? Viele Unternehmen erlauben dies standardmäßig nicht, angeblich um die Sicherheit ihrer Umgebung zu gewährleisten.