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:\Windows\System32\ 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:\Windows\System32\ 2 set serviceName=服務名稱 3 4 sc stop %serviceName% ::停止服務 5 sc delete %serviceName% ::刪除服務 6 pause
參考文獻
https://blog.csdn.net/s69122942chuiqi/article/details/103705653