A maneira mais fácil de desenvolver / depurar um serviço do Windows
Estou desenvolvendo um serviço do Windows no VB.NET 2008, mas sinto que vou ter um aneurisma. Para depurar o serviço, adicionei uma espera de 15 segundos para o código de inicialização, o que me dá tempo para iniciar o serviço e anexar o depurador .NET antes que algo aconteça, para que eu possa atingir pontos de interrupção e tal. Eu realmente sinto falta da depuração "integrada" com esse tipo de solução alternativa, e o teste parece ser uma grande dor.
Qual é a melhor maneira de fazer depuração "regular" de um serviço do Windows que está em desenvolvimento? Uma opção que eu considerava era mover toda a minha lógica para um projeto de DLL, deixando apenas a lógica de controle no próprio serviço e, em seguida, criando um projeto de formulários que essencialmente tinha apenas "iniciar" e "parar" botões nele e chamado em a DLL para fazer todo o resto. Dessa forma, eu posso depurar meu código normalmente e, em seguida, basta implantar o serviço compilado quando as DLLs estiverem prontas.
Isso faz sentido / incomoda os outros? Estou aberto a qualquer solução alternativa disponível. Sugestão de PBAqui soa como o que eu estou perguntando - alguém usou essa abordagem?