1. 程式人生 > >ASP.NET Core部署在IIS上

ASP.NET Core部署在IIS上

1.下載安裝 Windows Server Hosting ,它的作用是,讓IIS有反向代理功能(Asp.Net Core Module負責反向代理工作),將請求轉發到 Kestrel 這裡寫圖片描述

2.釋出網站,有兩種方法:用CLI dotnet publish 命令釋出,也可以通過Visual Studio釋出  在釋出的資料夾中檢視web.config檔案,把 stdoutLogEnabled=”true” ,然後新建一個 logs 資料夾,因為web.config設定了日誌的輸出目錄 stdoutLogFile=”.\logs\stdout”,而釋出時不會生成logs資料夾,需要手動建立。 這裡寫圖片描述

3.在IIS中部署,和以前釋出一樣,改變的是應用程式池不再是.NET CLR,而是選擇無託管程式碼。再瀏覽釋出的網站。。 這裡寫圖片描述

4.結果訪問報錯了。。報“An error occurred while starting the application”,然後在logs資料夾下檢視日誌,告訴我缺少檔案,導致報了這個錯誤。因專案中我啟用了xml註釋,所有的註釋會生成到一個xml檔案中,而釋出的時候不會把這個xml檔案輸出到釋出資料夾中,手動複製進去就可以正常訪問了。 這裡寫圖片描述