2016-06-07 418 views
0

我不断收到此错误:Windows服务不停止无重启?

Error 1061: The service cannot accept control messages at this time

发生这种情况时,我试图停止服务使用InstallUtil安装了此位置:C:\ WINDOWS \ Microsoft.NET \框架\ v4.0.30319 \ InstallUtil.exe

我正在尝试调试有问题的Windows服务。我的问题是,每次我试图对代码库进行更改时,计算机“物理机 - Dell Precision T3500”要求在重新安装之前重新启动整个机器以完全卸载该服务。

我看过this Link,它在我的场景中没有任何帮助,因为我首先必须停止该服务才能够获得对构建生成的位置的完全访问权限。

虽然服务正在尝试我做PC重启之前重新启动,当我试图从我的代码生成服务,我从编译器这个有趣的错误:

Error 16 Unable to copy file "obj\x86\Debug\X_WindowsService.exe" to "bin\x86\Debug\X_WindowsService.exe". The process cannot access the file 'bin\x86\Debug\X_WindowsService.exe' because it is being used by another process. X_WindowsService

因为有误差以上我也认为这就是为什么我不能使用here的SO解决方案。

有没有人有一个聪明的想法,让我经过旁路不得不重新启动机器,因为我调试和更改我的代码库?

我也看过来自SO的this link,但它没有标记的解决方案,我也尝试过其中一个解决方案,但它也没有适用的解决方案,因为他们建议重新启动,我试图避免。

+0

IIRC,.NET服务中错误1061最常见的原因是OnStart()函数不能退出。 –

+0

所有我在的OnStart()方法做的是一些错误记录的东西的物理文件的位置,然后我打开并启动一个线程,例如: _Thread =新主题(新的ThreadStart(X_Start)); _thread.Start(); 还有什么我应该在那里做优化服务? – Sizons

+0

您是否检查过“.CanStop”设置为true? –

回答

0

找到这个解决方案后我觉得很无聊。我当然应该使用KISS原则。

原来,我所要做的只是从任务管理器中寻找服务的进程,并简单地结束任务。之后,刷新到我的服务列表显示服务状态为空白,这意味着它已完全停止,无需重新启动机器。