我寫了一個Asp.net core mvc項目,可是部署在iis發生了502.5的問題一直解決不了。windows
系統:最強Win10;mvc
工具:輕巧VS Code;工具
各類百度bing都沒有我要的解決方案,說的都是網站
保證電腦上有.net core sdk或者.net core runtime;.net
須要安裝AspNetCoreModule託管模塊:DotNetCore.2.0.5-WindowsHosting.exe命令行
上面的託管模塊安裝成以後須要重啓電腦,或者使用命令行。日誌
net stop was /y net start w3svc
發佈項目,這是時候要注意權限。我發佈的方式一直都是用dotnet cli 的dotnet publish命令,若是第一次發佈會報權限不足的問題,而後我就會把publish文件夾的權限作一下處理。code
iis建立網站,而後把路徑綁定到publish文件夾。事件
編輯應用程序池,把.net clr版本設置爲無託管代碼。部署
搜到的結果基本上和這個都差很少,可是和個人狀況都不同,哎呀我這個小脾氣。
從新建立了一個.net core mvc項目發佈,我靠!居然能訪問,可是原來的項目仍是不能訪問。
因而查看了一下windows日誌
嘿嘿~果真有幾個錯誤日誌,ErrorCode:0x80004005 : 8000808c
Bing了一下,大概意思是可能有版本問題(大概是由於我電腦裏裝了好幾個.net core sdk或.net core runtime了吧)
就我這個English level居然在stackoverflow上找到了解決方案。
在項目文件中添加一句話
<PropertyGroup> <PublishWithAspNetCoreTargetManifest>false</PublishWithAspNetCoreTargetManifest> </PropertyGroup>
而後publish文件夾中多了好多文件夾,從新運行網站,哎呀 這個騷浪賤居然好用了。
仔細看了看,應該是發佈的時候把運行時包含在發佈文件夾裏了吧,這樣也許就不會有版本問題了吧。(不知道對不對,有大神看見的話請指教:))