我已经创建了一个Windows服务并手动安装它.后来从服务工具启动了该服务.现在我想从Visual Studio IDE中删除Windows服务应用程序.
当我尝试从IDE中的“调试”选项卡附加进程时,Windows服务进程将显示在列表中,但不突出显示要附加.
是否有任何其他主要过程我应该附加到调试服务应用程序.
发布任何相关信息表示赞赏.
当我尝试从IDE中的“调试”选项卡附加进程时,Windows服务进程将显示在列表中,但不突出显示要附加.
是否有任何其他主要过程我应该附加到调试服务应用程序.
发布任何相关信息表示赞赏.
谢谢.
这并没有回答确切的问题,但是对于它的价值,我发现开发和调试Windows服务的最简单方法是将所有逻辑放入类库中,然后从Windows服务调用逻辑(在生产中)或从常规窗体形式(在开发期间). Windows窗体将具有“开始”和“停止”按钮,该按钮将模拟服务的启动和停止行为.
为了便于在两种模式之间切换,我只使用命令行参数并在Main方法中处理它,如下所示:
static class Program { /// <summary> /// The main entry point for the application. /// </summary> private static void Main(string[] args) { if (args.Length > 0 && args[0] == "/form") { var form = new MainForm(); Application.Run(form); return; } var servicesToRun = new ServiceBase[] { new BackgroundService() }; ServiceBase.Run(servicesToRun); } }
然后在Visual Studio项目属性的“命令行参数”字段中,您只需添加“/ form”参数,它将始终在本地调试时弹出窗体.这样您就不必担心附加到进程或类似的任何内容.你只需像往常一样单击Debug,你就可以了.