1、添加 Microsoft.Extensions.Hosting.WindowsServices 包
dotnet add package Microsoft.Extensions.Hosting.WindowsServices
2、添加 UseWindowsService
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.UseWindowsService() // UseWindowsService
.Build().Run();
3、发布程序后通过sc命令安装服务
sc create MyService binPath= "d:\test\MyService.exe" start= auto displayname= "displayname"
注意这里是启动的exe
> sc create
描述:
在注册表和服务数据库中创建服务项。
用法:
sc <server> create [service name] [binPath= ] <option1> <option2>...
选项:
注意: 选项名称包括等号。
等号和值之间需要一个空格。
type= <own|share|interact|kernel|filesys|rec|userown|usershare>
(默认 = own)
start= <boot|system|auto|demand|disabled|delayed-auto>
(默认 = demand)
error= <normal|severe|critical|ignore>
(默认 = normal)
binPath= <.exe 文件的 BinaryPathName>
group= <LoadOrderGroup>
tag= <yes|no>
depend= <依存关系(以 / (斜杠)分隔)>
obj= <AccountName|ObjectName>
(默认= LocalSystem)
DisplayName= <显示名称>
password= <密码>
4、如遇到 【 失败 1053: 服务没有及时响应启动或控制请求。】 的错误
请打开Windows事件查看器 -->应用程序 查看日志