Zu beachten ist, das sich Windows-Services nicht einfach so debuggen lassen.
Mit dem folgenden Code kannst du jedoch erzwingen das dein Service wie ein Consolen--Programm läuft und somit leichter Debuggbar ist:
static class Program { /// <summary> /// The main entry point for the application. /// </summary> static void Main(string[] args) { if(args.Length > 0) { TestService1 srv = new TestService1(); srv.TestRun(args[0]); } else { string exepath = new FileInfo(Assembly.GetEntryAssembly().Location).DirectoryName; Directory.SetCurrentDirectory(exepath);
ServiceBase[] ServicesToRun; ServicesToRun = new ServiceBase[] { new Service1() }; ServiceBase.Run(ServicesToRun); } } }
public partial class TestService1 : Service1 { public void TestRun(string nam) { string[] ar = { nam };
Wichtig ist, das du beim Programmstart irgendeiner Parameter mitgeben musst. d.h.: * Paramterloser Start -> Windows Service * Start mit Parameter -> Consolenprogramm
In den Debug-Einstellungen deines Projects kannst du die Command-Line-Parameter bestimmen. Schreib dort einfach etwas wie "-C" rein.