Asp.net-Core
HTTP 錯誤 502.5 - ASP.NET Core 2.1 應用程序中的程序失敗
我剛剛將我們的ASP.NET Core 2.0應用程序升級到了 2.1。它可以正常建構和部署,但是在嘗試從我們的本地 Web 伺服器 (IIS) 啟動它時出現上述錯誤。從 Azure 啟動它時,我也遇到了同樣的錯誤。
錯誤日誌給了我以下錯誤。
物理根目錄為“C:\OscarWeb_Test”的應用程序“MACHINE/WEBROOT/APPHOST/OSCAR_INTERNAL_HTTPS”無法使用命令行“dotnet .\OscarWeb.dll”啟動程序,錯誤程式碼 = ‘0x80004005:80008083。
當我從命令行啟動應用程序時,出現以下錯誤。
它說缺少一個程序集,但它在項目中,並且在我升級之前就在那裡。由於某種原因,它在升級到ASP.NET Core 2.1後找不到程序集
解決方案是將屬性設置
PublishWithAspNetCoreTargetManifest為 false。我在 .csproj 中進行瞭如下設置。<Project Sdk="Microsoft.NET.Sdk.Web"> <PropertyGroup> <PublishWithAspNetCoreTargetManifest>false</PublishWithAspNetCoreTargetManifest> </PropertyGroup>它適用於本地 (IIS) 和 Azure 部署。
本文給出了對該屬性的更全面的解釋
出現此錯誤的原因有多種。我將嘗試強調導致此問題的兩個原因:
下面連結上發布的問題的第一個答案確實幫助了我。 IIS 錯誤 502.5 上的 ASP.NET Core 1.0
- 使用 dotnet 命令在 cmd 中呼叫項目的 .dll 文件將幫助您準確了解問題所在。就我而言,ASP.NET 核心存在版本錯誤。確保項目的 .csproj 文件中的所有項目依賴項使用相同版本的 ASP.NET 核心 SDK 和執行時包。您可以通過 cmd 上的 dotnet 命令檢查系統上存在的版本:
dotnet --info
- 由於C:\Windows\System32\drivers\etc的hosts文件中的配置不正確,我還不斷收到 HTTP 502.5 錯誤。確保您的應用程序正在偵聽的 IP 和埠在hosts文件中正確配置。
