C# Windows可以';不要启动服务

C# Windows可以';不要启动服务,c#,windows-services,C#,Windows Services,我正在开发一个应用程序作为Windows服务安装和运行。它仍然有bug并且意外停止(在Windows事件日志中也没有留下任何内容),当我尝试再次启动它时,我得到了错误 Windows无法在本地计算机上启动{name of service}服务。 错误1067:进程意外终止 我重新启动了计算机(Server2008R2;一台虚拟机,以防万一会有所不同),没有任何帮助。卸载并重新安装了我的服务,但仍然会收到该错误 计算机上的某些内容需要清除/刷新,以便再次尝试启动服务。我不想重建整个虚拟机,但我没有

我正在开发一个应用程序作为Windows服务安装和运行。它仍然有bug并且意外停止(在Windows事件日志中也没有留下任何内容),当我尝试再次启动它时,我得到了错误

Windows无法在本地计算机上启动{name of service}服务。 错误1067:进程意外终止

我重新启动了计算机(Server2008R2;一台虚拟机,以防万一会有所不同),没有任何帮助。卸载并重新安装了我的服务,但仍然会收到该错误

计算机上的某些内容需要清除/刷新,以便再次尝试启动服务。我不想重建整个虚拟机,但我没有主意了

更新


我忘了提到这个Windows服务——完全相同的代码和安装——在其他3台机器上运行,没有上述错误。将调试器放在OnStart()中听起来仍然是一种方法。

如果您有权访问代码,可以在方法的第一行添加一个方法


一旦“闯入”应用程序,请调查引发异常的位置。

您可以将调试器附加到正在运行的服务。详情见

幸运的是,您可以轻松地复制问题。您可以使用代码安装.NET Studio来调试您的问题

另一种技术是将该服务变成常规应用程序。您知道可疑代码正在启动过程中。因此,只需在启动函数中使用代码创建应用程序,然后从那里开始调试

祝你好运


Tommy Kwee

通常这是由于未处理的异常。这意味着您的代码中有一些错误。检查事件日志以查看它提供给您的信息。另外,尝试添加一个日志机制,这样您就可以知道什么是错误的您的服务访问了网络驱动器吗?不幸的是,事件日志中没有显示任何内容,如果服务正在启动,那么它必须在有机会写入其日志文件之前失败。是的,它确实访问了一些DFS路径。@EastofNowhere,如果您提供代码,主要是在启动时,我们可以查看它,可能会看到可疑的代码。我已将Debugger.Break()放在OnStart()的第一行,但它没有被命中:(@Hari您能再次检查您的应用程序是否使用调试配置编译(而不是发布)吗)?@oleksii是的,我已经在调试模式下编译了应用程序。我解决了问题。我在visual studio中使用“设置和部署”托管了该服务,但没有正确托管该服务(我也无法启动该服务)。后来,当我使用installutil.exe安装该服务时,一切都很顺利,调试点已达到。无论如何,感谢您的回复。