最近在寫.Net Core的API,由於之前沒接觸過Core,所以自己的想法很簡單,感覺和.Net都是差不多的東西,發布部署還是按.Net的那一套來,可謂是困難重重,走了不少彎路。
也沒什么漂亮的詞語,也不是技術大牛,就是抱着學習技術的態度,隨手寫寫這一套流程,以及遇到的問題跟解決方法。
一、安裝服務器環境
IIS Path-->Control Panel\All Control Panel Items\Programs and Features

沒細致研究,全裝了~
二、發布API
1.選擇File System,設置Target location.

2.配置文件,選擇框架依賴,需要安裝SDK,選擇獨立不需要安裝SDK。。還有就是一定要安裝托管模塊(下載地址,下面有說明)

我用的VS2017,設置好了發布就可以~
三、添加網站到IIS
1.添加WebSite,填寫Site name和Physical path.

2.設置該網站的Application Pools, .NET CLR version設置為 No managed Code.

四、服務器環境搭建及問題解決
1.安裝.NET Core SDK和AspNetCoreModule托管模塊
ASP.NET Core不再是由IIS工作進程(w3wp.exe)托管,而是使用自托管Web服務器(Kestrel)運行

鏈接:SDK 密碼:g02o
鏈接:托管模塊 密碼:8mxu
上面的鏈接文件已刪除。。。
使用 IIS 在 Windows 上托管 ASP.NET Core:
https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/iis/?view=aspnetcore-2.1#install-the-net-core-hosting-bundle
下載.NET Core 3.1(里面有SDK和托管模塊):
https://dotnet.microsoft.com/download/dotnet-core/3.1
我下載的是3.1.9,IIS運行時支持(ASP.NET核心模塊v2) 托管包,
SDK的話, 看着對應版本安裝吧
下載托管模塊
- 導航到 .NET Core 頁面。
- 選擇所需的 .NET Core 版本。
- 在“運行應用 - 運行時”列中,查找所需的 .NET Core 運行時版本的那一行。
- 使用“托管捆綁包”鏈接下載安裝程序。
不出問題基本安裝完后,基本可以訪問了
2.錯誤502.5一般就是沒裝.NET Core SDK和AspNetCoreModule托管模塊

3.另一個比較奇葩的錯誤

解決方法:看下你的發布文件夾里面是否缺少WebApi.xml,如缺少請手動復制到服務器指定路徑下。
4.如果遇到其他問題請查看日志或者查看官方給出的解決方案(官方解決方案地址)
