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

Dom*_*urf 7 asp.net-core

我刚刚将我们的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 后找不到程序集

Dom*_*urf 5

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

<Project Sdk="Microsoft.NET.Sdk.Web">
  <PropertyGroup>
    <PublishWithAspNetCoreTargetManifest>false</PublishWithAspNetCoreTargetManifest>
  </PropertyGroup>
Run Code Online (Sandbox Code Playgroud)

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

这篇文章中给出了对该属性的更全面的解释