Oza*_*RAM 39

回答:如果您收到此错误,请检查服务名称和服务进程安装程序服务名称.两者必须相同.

快乐的编码

资料来源:http://cut.lu/cddc2c

  • 谢谢这对我有用,但我需要纠正一些事情:服务名称(在服务组件中声明)和服务安装程序名称(ServiceInstaller类的实例)必须相同.ServiceProcessInstaller没有ServiceName也没有Name属性. (4认同)

小智 22

还要确保在exe的入口点(通常是Main过程)中创建服务类的实例(从服务库派生的实例).eg.

private static void Main()
        {
            var servicesToRun = new ServiceBase[]
                                              {
                                                  new MyService1(),
                                                  new MyService2()
                                              };
            ServiceBase.Run(servicesToRun);
        }
Run Code Online (Sandbox Code Playgroud)

如果你不这样做,假设你不包含创建MySerivce2实例的代码,如上所述,当你尝试启动MyService2时,你会收到上面的错误信息.


小智 5

我有同样的问题。我的解决方案是检查服务名称和服务安装程序服务名称。两者必须相同。

private void InitializeComponent()
{
    components = new System.ComponentModel.Container();
    this.ServiceName = "EmailService";
}
Run Code Online (Sandbox Code Playgroud)