2010-05-06 40 views
0

我在VS 2008中创建了名为EmailReader的服务。我编译,安装并启动了该服务。它的计时器循环正在将记录写入日志文件,所以我可以看到它正在运行。我试图在VS 2008中附加它,但进程名称在可用进程列表中显示为灰色,名称是“EmailReader.vshost.exe”而不是“EmailReader.exe”。无法附加到VS 2008中的服务

可能有一个简单的答案,但我不知道它。你做?

+0

不要使用Timer的服务相同的exe文件。它可以不可恢复地崩溃。请参阅http://stackoverflow.com/questions/397744/net-windows-service-with-timer-stops-responding/397757#397757上的答案 – StingyJack 2010-05-06 19:18:25

回答

2

vshost.exe不是您想要附加的正确的exe文件。它将是emailreader.exe本身。尝试附加到服务。一个对话框将打开所有的服务。尝试选中显示来自所有用户的所有进程的框,并选中说明来自所有会话的显示进程的框。

0

很可能您正在使用不同的凭据集来运行服务,而不是运行Visual Studio。确保您已选中显示所有用户的进程。您不会调试vshost,您需要从SCM调试实例。

0

首先,在Attach to Process对话框中会出现两个复选框。将它们都设置为已检查。点击进程列出的列表框。当你按'E'(就像你的情况),你会看到它突出显示了一个以'e'开头的进程,找到你刚刚构建的exe图像名称。一旦你在那里,附加按钮将自动启用。

PS:你已经建立了exe文件名会与您跑installutil工具安装服务