- 保證電腦上有.net core sdk或者.net core runtime;
- 需要安裝AspNetCoreModule托管子產品:DotNetCore.2.0.5-WindowsHosting.exe
- 上面的托管子產品安裝成之後需要重新開機電腦,或者使用指令行。
net stop was /y
net start w3svc
- 釋出項目,這是時候要注意權限。我釋出的方式一直都是用dotnet cli 的dotnet publish指令,如果第一次釋出會報權限不足的問題,然後我就會把publish檔案夾的權限做一下處理。
- iis建立網站,然後把路徑綁定到publish檔案夾。
- 編輯應用程式池,把.net clr版本設定為無托管代碼。
重新建立了一個.net core mvc項目釋出,竟然能通路,但是原來的項目還是不能通路。
于是檢視了一下windows日志
- 用cortana打開事件檢視器
- Windows日志
- 應用程式
- 重新運作一下網站
有幾個錯誤日志,ErrorCode:0x80004005 : 8000808c
Bing了一下,大概意思是可能有版本問題(大概是因為我電腦裡裝了好幾個.net core sdk或.net core runtime了吧)
解決方案
在項目檔案中添加一句話
<PropertyGroup>
<PublishWithAspNetCoreTargetManifest>false</PublishWithAspNetCoreTargetManifest>
</PropertyGroup>
- 然後publish檔案夾中多了好多檔案夾,重新運作網站,好用了。
仔細看了看,應該是釋出的時候把運作時包含在釋出檔案夾裡了吧,這樣也許就不會有版本問題了吧。)