【茶包射手日記】IIS 跑 ASP.NET Core 出現 500.19 0x8007000d 錯誤
4 | 18,952 |
低級錯誤一枚。
我玩 ASP.NET Core 多半是跑 VS 偵錯後丟進 Docker 跑,很久沒部署到 IIS,但方法我還記得:Publish、開 AppPool,也記得要設成「沒有受控碼」(No Managed Code) (如下圖) 參考
今天部署了一個 ASP.NET Core 網站到 IIS,打開瀏覽器想測試馬上被 500.19 0x8007000d HTTP 錯誤洗臉:
貌似 web.config 有錯,但設定來源的說明只有 -1: 0: 兩個莫名其妙的數字,下方說事件檢視器可能有線索,巡了一趟只看到幾個不知所云的警告:
該不會是 IIS 沒裝 ASP.NET Core 整合模組?不對呀,之前曾在這台 IIS 跑過 ASP.NET Core,應該有裝。先爬文看看還有什麼可能... 0x8007000d 最常見的原因是 AspNetCoreModule 沒裝好沒錯,但我明明有裝,不然以前怎麼跑的?等等... 還是檢查一下比較保險。靠杯,在 IIS 模組清單真的沒看到它!
這時我才想起來,之前移除無用 .NET Core SDK時,看到 Microsoft .NET Core 2.1.2 - Windows Server Hosting,想說是 .NET Core 2.1 舊版,順手把它移掉了。
官方文件 Host ASP.NET Core on Windows with IIS 有下載連結,重新安裝:
最新版是 5.0.4,但 IIS 模組名稱仍是 AspNetCoreModuleV2:
安裝完畢,IIS 就能正常跑 ASP.NET Core 囉~
經一事長一智,如要移除舊版 Microsoft .NET Core X - Windows Server Hosting,記得要裝新版。另外,查問題別再「記得 OOO」、「應該 XXX」了,什麼都要求眼見為憑,可省下一堆鬼打牆時間。
A case of 500.19 0x8007000d error caused by uninstalling .NET Core windows server hosting.
Comments
# by Frank Peng
Thanks !
# by steve liu
非常感謝!!!
# by carl
今天遇到卡了一陣,非常感謝!
# by Vita
感謝~ 解鎖成功!!