В дополнение к ответу maycil вы можете использовать Environment.UserInteractive, чтобы проверить, работает ли служба с подключенной консолью.Таким образом, он работает как для службы, так и для отладки как консольное приложение.
static void Main( string[] args )
{
if( !Environment.UserInteractive )
{
var servicesToRun = new ServiceBase[] {new Service1Component()};
ServiceBase.Run( servicesToRun );
}
else
{
var services = new Service1Component();
services.Start()
Console.WriteLine( "Press return to exit" );
Console.ReadLine();
services.Stop();
}
}