1. 程式人生 > >ASP.NET Core 404錯誤(轉自其它網站)

ASP.NET Core 404錯誤(轉自其它網站)

使用IIS時我得到了404。我按照正確的程式釋出(這裡)和部署,詳見此處

花了一些時間才弄明白,但我最終在Rick Strahl部落格文章中找到了答案

基本上,在建立應用程式池時,以及將其設定為“No Managed Code”時,我還需要進入高階設定並將應用程式池標識設定為“網路服務”。它在我的機器上的ApplicationPoolIdentity下很好,但在我部署到的機器上卻沒有。

在此處輸入影象描述

因此,為清楚起見,我的完整程式是:

要建立包:

  1. 建立dotnet核心網站(我使用Visual Studio 2017)
  2. 釋出。可以使用VS的釋出功能,但我通過包管理器使用了CLR。命令是:

    dotnet釋出-c釋出-r win-x64 - 自包含

我不得不使用win-x64識別符號,因為我們必須與64位Windows Server 2008相容。

部署:

  1. 在C:\ inetpub \ wwwroot中建立一個資料夾(例如'testsite')
  2. 獲取釋出資料夾({root} \ bin \ Release \ netcoreapp2.1 \ win-x64 \ publish)的內容並將其複製到新的“testsite”資料夾(或等效資料夾)。
  3. 在主機上安裝dotnet核心執行時(不是SDK!)。
  4. 開啟IIS。右鍵單擊“應用程式池”,然後“新增應用程式池”。
    建立一個.NET CLR版本設定為“無託管程式碼”。
  5. (我的機器不需要這一步,但伺服器確實這樣做了。)再次點選應用程式池。右鍵單擊新的應用程式池,然後選擇“高階設定”。將身份更改為“網路服務”(如上圖所示)。
  6. 返回頂級IIS,展開“預設網站”,右鍵單擊您網站的資料夾,然後選擇“轉換為應用程式”。選擇沒有託管程式碼的新應用程式池。
  7. 以管理員身份開啟命令提示符iisreset您應該在安裝dotnet核心執行時之後第一次需要這個。
  8. 訪問該網站(例如http:// localhost / testsite

 

轉自 https://stackoverflow.com/questions/38529123/asp-net-core-404-error-on-iis-10