把服务运行的代码封装成单一入口的class,再修改下服务的main函数,就可以使用debug调试了,就像这样子:
#if(DEBUG)
BuildContext context = new BuildContext("resolver");
context.Start();
// 你有1个小时的debug时间
Thread.Sleep(3600 * 1000);
#else
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
{
new ResolveService()
};
ServiceBase.Run(ServicesToRun);
#endif
解决方案配置选择"Debug",然后直接F5就可以调试BuildContext中的代码。