Asp.net-Core

HTTP 錯誤 502.5 - ASP.NET Core 2.1 應用程序中的程序失敗

  • May 7, 2022

我剛剛將我們的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

  1. 使用 dotnet 命令在 cmd 中呼叫項目的 .dll 文件將幫助您準確了解問題所在。就我而言,ASP.NET 核心存在版本錯誤。確保項目的 .csproj 文件中的所有項目依賴項使用相同版本的 ASP.NET 核心 SDK 和執行時包。您可以通過 cmd 上的 dotnet 命令檢查系統上存在的版本:
dotnet --info
  1. 由於C:\Windows\System32\drivers\etc的hosts文件中的配置不正確,我還不斷收到 HTTP 502.5 錯誤。確保您的應用程序正在偵聽的 IP 和埠在hosts文件中正確配置。

引用自:https://stackoverflow.com/questions/51304726