.net core 部署到 iis 步驟及報錯解決方法

我寫了一個Asp.net core mvc項目,可是部署在iis發生了502.5的問題一直解決不了。windows

環境

系統:最強Win10;mvc

工具:輕巧VS Code;工具

各類百度bing都沒有我要的解決方案,說的都是網站

  1. 保證電腦上有.net core sdk或者.net core runtime;.net

  2. 須要安裝AspNetCoreModule託管模塊:DotNetCore.2.0.5-WindowsHosting.exe命令行

  3. 上面的託管模塊安裝成以後須要重啓電腦,或者使用命令行。日誌

net stop was /y
net start w3svc
  1. 發佈項目,這是時候要注意權限。我發佈的方式一直都是用dotnet cli 的dotnet publish命令,若是第一次發佈會報權限不足的問題,而後我就會把publish文件夾的權限作一下處理。code

  2. iis建立網站,而後把路徑綁定到publish文件夾。事件

  3. 編輯應用程序池,把.net clr版本設置爲無託管代碼。部署


搜到的結果基本上和這個都差很少,可是和個人狀況都不同,哎呀我這個小脾氣。

從新建立了一個.net core mvc項目發佈,我靠!居然能訪問,可是原來的項目仍是不能訪問。

因而查看了一下windows日誌

  • 用cortana打開事件查看器
  • Windows日誌
  • 應用程序
  • 從新運行一下網站

嘿嘿~果真有幾個錯誤日誌,ErrorCode:0x80004005 : 8000808c

Bing了一下,大概意思是可能有版本問題(大概是由於我電腦裏裝了好幾個.net core sdk或.net core runtime了吧)

重點!重點!重點!

就我這個English level居然在stackoverflow上找到了解決方案。

在項目文件中添加一句話

<PropertyGroup>
    <PublishWithAspNetCoreTargetManifest>false</PublishWithAspNetCoreTargetManifest>
</PropertyGroup>

而後publish文件夾中多了好多文件夾,從新運行網站,哎呀 這個騷浪賤居然好用了。

仔細看了看,應該是發佈的時候把運行時包含在發佈文件夾裏了吧,這樣也許就不會有版本問題了吧。(不知道對不對,有大神看見的話請指教:))

相關文章
相關標籤/搜索