HTTP错误502.5-ASP.NET Core 2.1应用程序中的进程失败

时间:2018-07-12 11:39:56

标签: asp.net-core

我刚刚将我们的 ASP.NET Core 2.0 应用程序升级到2.1。它可以很好地构建和部署,但是在尝试从我们的本地Web服务器(IIS)启动它时出现了以上错误。从Azure启动时,我也会遇到相同的错误。

错误日志给我以下错误。

具有物理根目录“ C:\ OscarWeb_Test \”的应用程序“ MACHINE / WEBROOT / APPHOST / OSCAR_INTERNAL_HTTPS”无法使用命令行“ .net。\ OscarWeb.dll”启动进程,错误代码=“ 0x80004005:80000083”。 strong>

从命令行启动应用程序时,出现以下错误。

enter image description here

它说缺少一个程序集,但是它在项目中,并且在我升级之前就存在。由于某种原因,由于升级到 ASP.NET Core 2.1

,因此找不到程序集

6 个答案:

答案 0 :(得分:1)

为什么会出现此错误,原因有多种。我将尝试着重指出引起我这个问题的两个原因:

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

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

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

答案 1 :(得分:1)

我的解决方法是:

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

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

就我而言:

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

答案 2 :(得分:0)

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

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

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

article

中提供了对该属性的完整说明。

答案 3 :(得分:0)

我误删除了

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

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

答案 4 :(得分:0)

我在2.1中遇到了同样的问题,请确保您具有相同版本的 .net核心运行时间(x86 / x64) .net核心的窗口服务器托管在环境中,您正在设置应用程序。 下面是我的当前要求是2.2的设置,但它也适用于2.1,也对我有用。

<PublishWithAspNetCoreTargetManifest>false</PublishWithAspNetCoreTargetManifest>

enter image description here

enter image description here

答案 5 :(得分:0)

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

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

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