今天在將使用.netcore MVC開發的網站部署到IIS上時,遇到以下問題
- 1.MVC網站發佈之後沒有View文件夾
- 2.網站發佈之後出現500.19錯誤
不截圖了,錯誤消失了,截不到了。。。
現將解決辦法寫在下面:
對於問題1.MVC網站發佈之後沒有View文件夾
這個需要修改項目的.csproj文件,具體修改方法如下:
用記事本打開項目的.csproj文件,在PropertyGroup節點下面添加
<MvcRazorCompileOnPublish>false</MvcRazorCompileOnPublish>
之後重新生成項目,然後重新發布,就可以看到Views文件夾了
對於問題2.網站發佈之後出現500.19錯誤
解決辦法如下:
我們打開網站發佈後的目錄,有個web.config文件,該文件裏面有一句話
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
可以看到有個modules屬性的值爲AspNetCoreModule,但是在IIS中的模塊中沒有這個組件,這是導致錯誤出現的原因,
此時需要安裝AspNetCoreModule組件,也就是dotnet-hosting-3.0.0-win,我資源有,但是需要積分,積分不寬裕就不要在這下載了,官網也有,可自行下載
下載完成之後,IIS模塊中會顯示AspNetCoreModule,我這裏安裝的是V2版本,因此顯示名稱是V2
然後修改web.config中的上述代碼段中的modules值爲AspNetCoreModuleV2就行了
至此,重啓網站,500.19錯誤就消失了。
最後,使用.netcore發佈網站時,別忘記將應用程序池的.net CLR版本設置爲無託管代碼