【问题标题】:HTTP Error 502.5 - Process Failure in ASP.NET Core 2.1 applicationHTTP 错误 502.5 - ASP.NET Core 2.1 应用程序中的进程失败
【发布时间】:2018-07-12 11:39:55
【问题描述】:

我刚刚将我们的 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

后找不到程序集

【问题讨论】:

    标签: asp.net-core


    【解决方案1】:

    解决方法是将属性PublishWithAspNetCoreTargetManifest 设置为false。我在 .csproj 中进行了如下设置。

    <Project Sdk="Microsoft.NET.Sdk.Web">
      <PropertyGroup>
        <PublishWithAspNetCoreTargetManifest>false</PublishWithAspNetCoreTargetManifest>
      </PropertyGroup>
    

    它适用于本地 (IIS) 和 Azure 部署。

    article中给出了对该属性的更全面的解释

    【讨论】:

      【解决方案2】:

      出现此错误的原因有多种。我将尝试强调导致此问题的两个原因:

      下面链接上发布的问题的第一个答案对我很有帮助。 ASP.NET Core 1.0 on IIS error 502.5

      1. 使用 dotnet 命令在 cmd 中调用项目的 .dll 文件将帮助您准确了解问题所在。就我而言,ASP.NET 核心存在版本错误。确保项目的 .csproj 文件中的所有项目依赖项使用相同版本的 ASP.NET 核心 SDK 和运行时包。您可以通过 cmd 上的 dotnet 命令检查系统上存在的版本:

        dotnet --info
        
      2. 由于 C:\Windows\System32\drivers\etc 的 hosts 文件中的配置不正确,我还不断收到 HTTP 502.5 错误。确保您的应用程序正在侦听的 IP 和端口在 hosts 文件中正确配置。

      【讨论】:

      • 上面的链接非常有用。我通过 IIS 重置解决了这个问题。
      【解决方案3】:

      我的解决方法是这样的:

      打开web.config 文件并查找进程路径。默认设置为processPath="dotnet"

      您已查找 dotnet.exe 文件并将此处的位置复制并粘贴到 web.config 文件中。

      就我而言:

      processPath="C:\Program Files\dotnet\dotnet.exe"
      

      【讨论】:

        【解决方案4】:

        我误删了

          CreateWebHostBuilder(args).Build().Run();
        

        来自 Program.cs 文件。放回去后错误立即解决

        【讨论】:

          【解决方案5】:

          我在 2.1 中遇到了同样的问题,请确保您拥有相同版本的 .net core run time(x86/x64)window server hosting of .net core在您设置应用程序的环境中。 以下是我现在是 2.2 所需的设置,但它也适用于 2.1,它也适用于我。

          <PublishWithAspNetCoreTargetManifest>false</PublishWithAspNetCoreTargetManifest>
          

          【讨论】:

            【解决方案6】:

            按照建议运行 dotnet 命令时,我发现出现了 BadImageFormatException。我的平台目标是 x86。这修复了它:

            <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
                <PlatformTarget>x64</PlatformTarget>
            </PropertyGroup>
            

            更通用的解决方案:https://github.com/dotnet/sdk/issues/8662

            【讨论】:

              猜你喜欢
              • 2018-11-04
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多