C# 名称';安装工';在当前上下文中不存在

C# 名称';安装工';在当前上下文中不存在,c#,windows-services,installation,C#,Windows Services,Installation,我对开发windows服务一窍不通,我找到了一本关于实现标准windows服务的教程。这是我找到的代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.ComponentModel; using System.Configuration.Install; using System.ServiceProcess; namespace Review

我对开发windows服务一窍不通,我找到了一本关于实现标准windows服务的教程。这是我找到的代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using System.Configuration.Install;
using System.ServiceProcess;

namespace ReviewsSvc
{
[RunInstaller(true)]
public class ReviewsSvcInstaller
{
    private ServiceProcessInstaller processInstaller;
    private ServiceInstaller serviceInstaller;

    public ReviewsSvcInstaller()
    {
        processInstaller = new ServiceProcessInstaller();
        serviceInstaller = new ServiceInstaller();

        processInstaller.Account = ServiceAccount.LocalSystem;
        serviceInstaller.StartType = ServiceStartMode.Manual;
        serviceInstaller.ServiceName = "Reviews Updater";
        Installers.Add(serviceInstaller);
        Installers.Add(processInstaller);
    }
}
}

我已经添加了必要的引用,但仍然出现了一个关于“Installers”的错误,没有找到。我缺少什么?

您忘记指定基类了

namespace ReviewsSvc 
{ 
    [RunInstaller(true)] 
    public class ReviewsSvcInstaller : Installer
    { 
        ....

确保主可执行文件(EXE)中的类ReviewsSvcInstaller。安装程序在主条目程序集中查找此类。我希望能有所帮助。

这个问题中有什么太本地化了?@MattDavey-你的观点是什么?作者的全部问题是找不到类
Installer
Installers
。@Ramhound在本例中
Installers
指的是
System.Configuration.Installer.Installers
属性-但正如Steve指出的,他的类不是从
System.Configuration.Install.Installer
-因此出现错误。谢谢!还有一个问题:安装程序应该位于不同的项目(不同的可执行文件)中,还是与服务一起?如何使用安装程序?正如您从中以及代码中所看到的,ServiceInstaller类需要知道主服务类的名称,并且该名称应作为项目中从ServiceBase派生的类的ServiceName。安装服务(一个.NET服务)的过程是通过实用工具InstallUtil.exe来完成的。@Steve-那个刚刚咬了我一口。谢谢你提醒我“子类安装程序”!非常感谢!