Search code examples
c#.netserviceassembly-references

Why my C# does not have System.ServiceProcess Library?


This is the code. I just wanna test the library of System.ServiceProcess library.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ServiceProcess;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("hi");
            var srv = new ServiceController("MyService");
            Console.WriteLine("MyService Status {0}", srv.Status);
            if (srv.Status != ServiceControllerStatus.Running)
                srv.Start();
            System.Threading.Thread.Sleep(1000000);
        }
    }
}

However, when I run the C# code, its says:

Error 1 The type or namespace name 'ServiceProcess' does not exist in the namespace 'System' (are you missing an assembly reference?)

What went wrong?


Solution

  • The System.ServiceProcess namespace belongs to System.ServiceProcess.dll and it isn't added as a reference by default.

    For this, in the solution window, right click on "References" and choose "Add Reference..". Go to the .NET tab, and double click on System.ServiceProcess.dll.

    enter image description here

    This assembly is probably in the folder C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727.