找不到类型或命名空间名称“ServiceController”

时间:2011-06-04 17:28:52

标签: c# .net windows

我正在尝试检查C#中的服务,我添加了System.ServiceProcess.dll

虽然我收到错误:

  

错误2找不到类型或命名空间名称'ServiceController'(您是否缺少using指令或程序集引用?)D:\ App \ Form1.cs 247 13 App

我的代码如下:

private void button13_Click(object sender, EventArgs e)
{
    ServiceController sc = new ServiceController("Spooler");

    if (sc.Status == ServiceControllerStatus.Running)
    {
        MessageBox.Show("The service is running.");
    }
}

我是否需要“使用”声明?

4 个答案:

答案 0 :(得分:15)

您需要添加对System.ServiceProcess.dll

的引用

enter image description here

之后,您将能够在Visual Studio中看到它,作为可以添加到项目中的using语句之一:

enter image description here

答案 1 :(得分:5)

专业提示:当您尝试使用.NET Framework中的类时,会收到如下消息:

  

类型或命名空间名称'...'可以   找不到(你错过了使用   指令或程序集引用?)

MSDN Library中查找类型并查看“继承层次结构”部分,以查找所需的命名空间和程序集。

继承层次结构

System.Object   
  System.MarshalByRefObject  
    System.ComponentModel.Component  
      System.ServiceProcess.ServiceController  

命名空间: System.ServiceProcess
汇编: System.ServiceProcess(在 System.ServiceProcess.dll 中)

然后确保命名空间有a reference to the assemblyusing directive(假设您不想完全限定名称)。

答案 2 :(得分:3)

是的,在顶部。

using System.ServiceProcess;

答案 3 :(得分:1)

对我来说(Visual Studio 2012)在输入“使用”时它不是默认添加 我必须添加一个引用并搜索System.ServiceProcess的程序集。 (我相信它位于旧版Studio中的.NET选项卡中)。 希望这可以帮助任何未来的观众!