尝试启动服务时出错
答案 0 :(得分:38)
答案 1 :(得分:22)
还要确保在exe的入口点(通常是Main过程)中创建服务类的实例(从服务库派生的实例)。例如。
private static void Main()
{
var servicesToRun = new ServiceBase[]
{
new MyService1(),
new MyService2()
};
ServiceBase.Run(servicesToRun);
}
如果你不这样做,假设你没有包含创建MySerivce2实例的代码,如上所述,当你尝试启动MyService2时,你会收到上面的错误信息。
答案 2 :(得分:4)
我遇到了同样的问题。我的解决方案是检查服务名称和服务安装程序服务名称。两者都必须相同。
private void InitializeComponent()
{
components = new System.ComponentModel.Container();
this.ServiceName = "EmailService";
}
答案 3 :(得分:0)
添加另一种可能性see answer #7 on this link。
解决方案的要点是按照您希望的初始化时间分配服务名称。在我的情况下,服务。ServiceName
字段未设置
考虑使用日志语句在ServiceBase.Run(servicesToRun)
之前写入服务名称。