1、实测环境
vs2019 Net6 Asp.Net Core WebApi、控制台应用程序均安装成功。
2、代码处理
1、程序引用Nuget:Microsoft.Extensions.Hosting.WindowsServices
2、打开 Program.cs ,在Host Create 后新增 .UseWindowsService();
1 public static IHostBuilder CreateHostBuilder(string[] args) => 2 Host.CreateDefaultBuilder(args) 3 .ConfigureWebHostDefaults(webBuilder => 4 { 5 webBuilder.UseStartup<Startup>(); 6 }) 7 .UseWindowsService();
3、通过sc.exe制作安装程序
3.1 安装并启动服务。一定要以管理员身份运行
1 cd C:WindowsSystem32 2 set serviceName=服务名称 3 4 set serviceFilePath=程序路径 ::D:/webapi/webapi.exe 5 set serviceDescription=服务描述 6 7 sc create %serviceName% BinPath=%serviceFilePath% ::创建服务 8 sc config %serviceName% start=auto ::改变服务的启动方式 手动/自动/禁用(demand/auto/disabled )
9 sc description %serviceName% %serviceDescription% ::添加描述
10 sc start %serviceName% ::启动服务 11 pause
成功之后在windows服务中就能看到了
3.2停止卸载服务
1 cd C:WindowsSystem32 2 set serviceName=服务名称 3 4 sc stop %serviceName% ::停止服务 5 sc delete %serviceName% ::删除服务 6 pause
参考文献
https://blog.csdn.net/s69122942chuiqi/article/details/103705653