C# 无法创建将启动的 Windows 服务
Posted
技术标签:
【中文标题】C# 无法创建将启动的 Windows 服务【英文标题】:C# cannot create windows service that will start 【发布时间】:2020-09-24 11:50:19 【问题描述】:我正在尝试用 C# 编写我的第一个 Windows 服务。如果我完全按照 MS 教程进行操作,我可以创建一个带有计时器的简单服务,该计时器可以工作并写入 eventLog。第二次我更改任何内容都不会以 1064 开头。 我通过从解决方案的 bin\debug 文件夹中调用 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe 来安装该服务。 我已卸载该服务并重新安装它。 我已经使用 SC DELETE 并重新安装了它。 我已经重新启动。没有任何效果,除非我从头开始一个新项目,当我尝试更改任何内容时它再次失败。如果更改代码,是否必须重置某些内容?
【问题讨论】:
第二个我改变了什么是什么意思? 如果你能创建一个minimal reproducible example会很有帮助 如果我们改变任何东西并且它起作用了怎么办?我们真的需要知道您正在尝试什么具体的事情。 从更改服务名称到更改事件日志消息中的文本到添加类或添加一些代码的任何事情 最小的可重复示例 = MS 教程 docs.microsoft.com/en-us/dotnet/framework/windows-services/… 只要我不更改服务名称或代码之类的任何内容,它就可以工作 【参考方案1】:从小步骤重新开始并仔细使用事件日志,我能够确定该服务无法访问引用使用 SUBST 命令创建的驱动器的文件路径(我没有 E 驱动器开发机)。我认为这是因为 SUBST 不在服务的进程中,但是为什么会导致服务控制器在启动时出错我不知道,可能是因为路径是从 Properties.Settings.Default 访问的。神秘的事实仍然是,当我只更改服务显示名称并重建(卸载和重新安装之后)时,工作版本停止工作。
【讨论】:
以上是关于C# 无法创建将启动的 Windows 服务的主要内容,如果未能解决你的问题,请参考以下文章