You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET7 Worker Service注册为Windows服务启动失败,报System Error 193

解决.NET7 Worker Service注册Windows服务时System Error 193的问题

可能的原因及解决方法

1. 匹配目标架构与系统位数

  • 你的系统是64位Windows,发布Worker Service时需明确指定win-x64作为目标运行时:
    • 在Visual Studio发布配置中,找到「目标运行时」选项,选择win-x64,重新发布项目。
    • 若用命令行发布,执行:dotnet publish -c Release -r win-x64 --self-contained true

2. 规避路径中的特殊字符与空格

  • 原路径包含空格(如C# academy course、Math Game - maui),可能导致服务注册解析异常。将发布后的可执行文件移到无空格的路径下,例如C:\Services\WorkerService11\PublishWorkerService11.exe。
  • 重新注册服务,确保binpath=后紧跟空格,再用引号包裹路径:
    sc create WorkerService11 binpath= "C:\Services\WorkerService11\PublishWorkerService11.exe" start= demand
    

3. 确认部署模式为独立部署

  • 选择「独立部署」模式发布,可避免依赖系统已安装的.NET运行时版本:
    • 在VS发布设置中,将「部署模式」设为「独立」,搭配win-x64目标运行时重新发布。

4. 验证可执行文件的有效性

  • 右键点击发布后的PublishWorkerService11.exe,选择「属性」→「详细信息」,确认文件架构为64位。
  • 也可通过命令行验证:dumpbin /headers PublishWorkerService11.exe,查看输出中的「机器」字段是否为x64。

5. 重新执行服务注册流程

  • 先删除已注册的错误服务:sc delete WorkerService11
  • 确保新路径下的exe能直接正常运行
  • 重新注册并启动服务:
    sc create WorkerService11 binpath= "C:\Services\WorkerService11\PublishWorkerService11.exe" start= demand
    net start WorkerService11
    

内容的提问来源于stack exchange,提问作者Cardsio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 23:52:48