如果你想將 .net core 項目以服務的形式部署到 windows 系統,希望本篇文章能夠讓你少走彎路
dotnet-warp 安裝使用
dotnet-warp 是一個全局的.NET Core 工具,允許將.NET Core 項目打包爲單個可執行文件
項目地址:https://github.com/Hubert-Ryb...
安裝:dotnet tool install --global dotnet-warp
使用:在項目輸出目錄執行dotnet-warp
即可將應用打包成一個exe文件 (支持:win-x64,linux-x64,osx-x64)
NSSM 安裝使用
NSSM 是一個服務封裝程序,它可以方便的將 Exe 程序封裝成 windows 服務運行
下載:nssm-2.24
使用:下載後將對應版本拷貝到目標機器,然後命令行執行:nssm install
即可喚出可視化界面
選擇應用路徑,有參數的添加參數,指定服務名稱,指定執行用戶,然後安裝即可
安裝成功別忘記啓動:nssm start 服務名稱
![]()
執行/運行 nssm 接口查看所有命令,根據所需執行對應的命令即可
簡單的給 asp .net core項目傳入監聽端口
public static IWebHostBuilder CreateWebHostBuilder(string[] args)
{
List<string> urls = new List<string>();
urls.Add("http://*:5454");//默認監聽
// --urls http://*:6060,https://*:2333
var urlIndex = args.ToList().IndexOf("--urls");
if (urlIndex > -1 && args.Length > urlIndex + 1 && !string.IsNullOrEmpty(args[urlIndex + 1]))
{
urls.AddRange(args[urlIndex + 1].Split(','));
}
return WebHost.CreateDefaultBuilder(args)
.UseUrls(urls.ToArray())
.UseStartup<Startup>();
}
注意事項
- wwwroot 文件夾需要手動拷貝
- 發佈到 Windows7 時遇到的錯誤
****/hostfxr.dll 找不到
,下載對應系統版本的 Windows6.1-KB2533623 補丁後重啓即可