C# 找不到类型或命名空间名称“ServiceController”(是否缺少using指令或程序集引用?)

C# 找不到类型或命名空间名称“ServiceController”(是否缺少using指令或程序集引用?),c#,asp.net,windows-services,reference,C#,Asp.net,Windows Services,Reference,我已经写了一个Windows服务,我有一个管理面板,我可以从一个网页配置这个服务。为了做到这一点,我正在使用一个数据库。因此,基本上我所做的是更改数据库中的值,服务读取这些值并更改其执行时间。。等等 我的问题是我的开发服务器一切正常。当我安装我的服务并将网页上传到生产服务器时,我收到了这个错误 找不到类型或命名空间名称“ServiceController”是否缺少using指令或程序集引用 它在我的网页上给出了这个错误。我已经检查了该服务,它已经安装并正常工作,但是当我尝试转到该服务的配置页面时

我已经写了一个Windows服务,我有一个管理面板,我可以从一个网页配置这个服务。为了做到这一点,我正在使用一个数据库。因此,基本上我所做的是更改数据库中的值,服务读取这些值并更改其执行时间。。等等

我的问题是我的开发服务器一切正常。当我安装我的服务并将网页上传到生产服务器时,我收到了这个错误

找不到类型或命名空间名称“ServiceController”是否缺少using指令或程序集引用

它在我的网页上给出了这个错误。我已经检查了该服务,它已经安装并正常工作,但是当我尝试转到该服务的配置页面时,它会引发此异常。在我的项目中,我看到我使用System.ServiceProcess;添加到顶部,当我构建解决方案时,不会显示此dll引用错误。在designer中,它似乎已经被导入:

);有什么问题吗?这可能是32位/64位问题吗?我知道这没有道理,但我们将感谢您的帮助

ServiceController agService = new ServiceController("Buddy Service");
while (agService.Status == ServiceControllerStatus.Running)
{                   
  lblServiceStatus.Text = "Running";
  lblServiceStatus.ForeColor = Color.LimeGreen;
  btnStopService.Enabled = true;
  btnStartService.Enabled = false;
  break;
}
它将异常抛出到行中

ServiceController agService = new ServiceController("Buddy Service");
我已经确保好友服务在服务列表中,而且确实如此

确保在引用列表中添加的System.ServiceProcess比用户列表中添加的要多:

确保在引用列表中添加的System.ServiceProcess比用户列表中添加的要多:


听起来您已经正确引用了程序集

尝试更改此行:

ServiceController agService = new ServiceController("Buddy Service");
while (agService.Status == ServiceControllerStatus.Running)
为此:

var agService = new System.ServiceProcess.ServiceController("Buddy Service");
while (agService.Status == System.ServiceProcess.ServiceControllerStatus.Running)
如果这样做有效,您可能还需要更改此行:

ServiceController agService = new ServiceController("Buddy Service");
while (agService.Status == ServiceControllerStatus.Running)
为此:

var agService = new System.ServiceProcess.ServiceController("Buddy Service");
while (agService.Status == System.ServiceProcess.ServiceControllerStatus.Running)

听起来您已经正确引用了程序集

尝试更改此行:

ServiceController agService = new ServiceController("Buddy Service");
while (agService.Status == ServiceControllerStatus.Running)
为此:

var agService = new System.ServiceProcess.ServiceController("Buddy Service");
while (agService.Status == System.ServiceProcess.ServiceControllerStatus.Running)
如果这样做有效,您可能还需要更改此行:

ServiceController agService = new ServiceController("Buddy Service");
while (agService.Status == ServiceControllerStatus.Running)
为此:

var agService = new System.ServiceProcess.ServiceController("Buddy Service");
while (agService.Status == System.ServiceProcess.ServiceControllerStatus.Running)

嗯,这是一个web应用程序,我没有参考文件夹,您显示的图像在控制台应用程序中。我试图通过右键单击“添加引用”“从.Net选项卡中查找System.ServiceProcess并添加它来添加dll,但在任何文件夹中都看不到dll引用。但当我右键单击我的项目并选择properties时,我有了引用、构建和可访问性。在我的参考资料列表中,我可以看到tehre中的System.ServiceProcess。它是一个web应用程序,我没有参考资料文件夹,您显示的图像在控制台应用程序中。我试图通过右键单击“添加引用”“从.Net选项卡中查找System.ServiceProcess并添加它来添加dll,但在任何文件夹中都看不到dll引用。但当我右键单击我的项目并选择properties时,我有了引用、构建和可访问性。在我的参考列表中,我可以在tehre中看到System.ServiceProcess。是的,我的目标是相同版本的开发机器和生产服务器。它设置为2.0。但在其他类似于我的项目中,没有这个问题。我想我在这里遗漏了一些东西。你能显示引发异常的代码吗?是的,我的目标是相同版本的开发机器和生产服务器。它被设置为2.0。但在其他类似于我的项目中,没有这个问题。我想我在这里遗漏了一些东西。你能展示引发异常的代码吗?我会尝试一下,然后给你回复。这似乎是合理的。好的,谢谢。这似乎是解决办法。我真的很感谢你的帮助。我会试试这个,然后再给你回复。这似乎是合理的。好的,谢谢。这似乎是解决办法。我真的很感谢你的帮助。