備注:本人使用開發工具:VS2017,.NET Core 2.2,其中VS2017原本自帶2.1,我單獨從官網下載了2.2的程序集安裝包,但是沒有下配套的運行環境,運行項目時出了一個問題。
以下是我在發布Core項目后部署到IIS后運行時遇到的一個異常:處理程序“aspNetCore”在其模塊列表中有一個錯誤模塊“AspNetCoreModuleV2"
這里備注一下,如果僅僅是在IIS上運行發布好的項目,只需要安裝AspNetCoreModuleV2模塊就夠了。不需要管模塊:AspNetCoreModule 。
如果項目還運行不了,報HTTP Error 500.30 - ANCM In-Process Start Failure ,只需要檢查應用程序池的配置是否是無托管代碼版本。
先擺出微軟Core的官方文檔對IIS支持的描述吧:https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/iis/?view=aspnetcore-3.0
下載中心:https://dotnet.microsoft.com/download/dotnet-core/3.1 選擇IIS支持中的IIS runtime support,里面的Hosting Bundle(托管捆綁包)鏈接下載
1-發布設置:
在發布過程中,項目一直還原nuget包沒有結果?后來我轉移了項目的位置,從C盤桌面挪到F盤,重新編譯發布項目,居然可以了! 可能是在C盤還原的時候遇到了只讀或權限不足的問題吧,貼圖如下
發布成功后,在IIS配置網站到push發布目錄中,應用程序池:.net framework版本設置成無托管代碼(其實設置了v4.0貌似也沒有毛病),
在運行項目時報錯如下:處理程序“aspNetCore”在其模塊列表中有一個錯誤模塊“AspNetCoreModuleV2"
只需要在運行的服務器上下載一個捆綁運行程序包,就OK了:
下載地址:
https://dotnet.microsoft.com/download/dotnet-core/3.1
選擇好版本后,點擊去,找到Core運行時的支持:IIS runtime support,里面的Hosting Bundle(托管捆綁包)鏈接下載。