【发布时间】:2013-08-21 16:04:28
【问题描述】:
我在使用 c# 安装窗口服务时遇到问题。当我创建我的第一个窗口服务项目时,我遇到了以下问题: “无法从命令行或调试器启动服务。必须先安装 Windows 服务(使用 installutil.exe),然后使用 ServerExplorer、Windows 服务管理工具或 NET START 命令启动”。
然后我将我的 program.cs 编辑为:
static void Main()
{
if (System.Diagnostics.Debugger.IsAttached)
{
Service1 service = new Service1();
string[] args = new string[] { "arg1", "arg2" };
service.StartFromDebugger(args);
}
else
{
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
{
new Service1()
};
ServiceBase.Run(ServicesToRun);
}
}
// Also added the following code
public partial class Service1 : ServiceBase
{
public void StartFromDebugger(string[] args)
{
OnStart(args);
}
}
那么这个问题就解决了。之后,当我通过添加新的安装项目创建该项目的 .exe 文件并将其安装在我的系统上时,它再次给了我上述错误。 请帮助我....thanx提前
【问题讨论】:
-
这不是直接的答案,但请尝试top-shelf。它使您可以更轻松地构建和调试 Windows 服务。