NetCore WebApi和控制台程序 发布到Windows服务。

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

原文地址:https://www.cnblogs.com/ksmy/p/15152716.html