【发布时间】:2011-02-07 10:53:00
【问题描述】:
场景
我有一个用 C# 编写的 Windows 服务。 我已经阅读了所有关于如何调试它的谷歌线程,但我仍然无法让它工作。 我已经运行了“PathTo.NetFramework\InstallUtil.exe C:\MyService.exe”。它说安装成功,但是当我运行“Services.msc”时,该服务根本不显示,任何地方。如果我进入任务管理器,有一个名为“MyService.vshost.exe”的进程。很确定不是这样,因为它是服务,而不是流程。
谁能给我解释一下?
如果我应该在运行 Services.msc 时看到该服务? (请记住,这一切都是在本地机器上完成的,根本没有服务器。
其他
我正在运行 VS2008。
编辑:
这一切都在我的本地机器上完成,我没有服务器或访问任何服务器。 另外,我什至不知道服务做什么,我想调试它,以便我可以遍历代码并查看它是如何工作的(服务内部的代码,而不是服务本身 - 对于你们中的任何一个聪明的裤子可能建议我看一个模板)。
编辑 2:
这些都不起作用! 每次我尝试某些东西时,我都会收到一些关于必须使用 NET START 或安装服务的消息。
编辑 3:
我正在运行 VS2008。
我输入了这个: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe C:\dev\Restarter\bin\Release\Restarter.exe
我得到了这个: Microsoft (R) .NET Framework 安装实用程序版本 2.0.50727.3053 版权所有 (c) 微软公司。保留所有权利。
运行事务安装。
开始安装的安装阶段。 查看 C:\dev\Restarter\bin\ 的日志文件的内容 Release\Restarter.exe 程序集的进度。 该文件位于 C:\dev\Restarter\bin\Release\EDT.Restar 三、安装日志。 安装程序集“C:\dev\Restarter\bin\Release\Restarter.exe”。 受影响的参数是: 登录控制台 = 程序集路径 = C:\dev\Restarter\bin\Release\Restarter.exe 日志文件 = C:\dev\Restarter\bin\Release\Restarter.InstallLog
安装阶段成功完成,提交阶段开始。 查看 C:\dev\Restarter\bin\ 的日志文件的内容 Release\Restarter.exe 程序集的进度。 该文件位于 C:\dev\Restarter\bin\Release\Restar 三、安装日志。 提交程序集“C:\dev\Restarter\bin\Release\Restarter.exe”。 受影响的参数是: 登录控制台 = 程序集路径 = C:\dev\Restarter\bin\Release\Restarter.exe 日志文件 = C:\dev\Restarter\bin\Release\Restarter.InstallLog
提交阶段成功完成。
事务安装已完成。
C:\Program Files\Microsoft Visual Studio 9.0\VC>
然后我去了 RUN -> Services.msc 里面什么也看不见。
任务管理器中有一个名为“Restarter.vshost.exe”的进程。
就是这样。
我只想安装和调试它。 我知道它有效(因为它运行并且不会崩溃)。 但是代码是朋友写的,我想通过调试模式来了解底层代码。
【问题讨论】:
-
您尝试调试部署/安装或运行时问题?
-
您的编辑令人困惑。听起来您的第一个问题是让服务运行。请发布您用于安装服务的确切命令行以及响应。
-
您是否尝试过使用 sc.exe 创建新服务?格式应该类似于:sc create NameToGiveTheService binPath=PathToExe。不确定您是否需要使用托管服务来执行此操作。 support.microsoft.com/kb/251192。它应该出现在服务列表中。
标签: c# windows-services debugging