首页 > 解决方案 > 在安装了 2.1 的服务器上运行 Core 2.0.x

问题描述

我有一个安装了 Core 2.1 和一个 2.1 应用程序的 Windows Server 2016。我试图在服务器上设置另一个基于 Core 2.0.5 构建的应用程序,但运行它给我 IIS 502.5 错误并查看 EventViewer 显示错误代码'0x80004005:8000808c

此错误似乎指向未安装正确版本的 dotnet Core。2.1 版本是否不向后兼容 2.0.x,在这种情况下,我可以安装最新的 2.0.x 运行时而不干扰现有的 2.1 应用程序吗?

标签: .net-coreasp.net-core-2.0asp.net-core-2.1

解决方案


尝试在没有 IIS 的情况下运行应用程序,仅 Kestrel。在命令行中浏览到应用程序目录并使用dotnet WebApplication1.dll(更改为指向正确的 dll)启动它。可能缺少依赖项,它会优雅地通知您它们。

F:\WebApplication1>dotnet WebApplication1.dll
Error:
  An assembly specified in the application dependencies manifest (WebApplication1.deps.json) was not found:
    package: 'Microsoft.ApplicationInsights.AspNetCore', version: '2.1.1'
    path: 'lib/netstandard1.6/Microsoft.ApplicationInsights.AspNetCore.dll'
  This assembly was expected to be in the local runtime store as the application was published using the following target manifest files:
    aspnetcore-store-2.0.0-linux-x64.xml;aspnetcore-store-2.0.0-osx-x64.xml;aspnetcore-store-2.0.0-win7-x64.xml;aspnetcore-store-2.0.0-win7-x86.xml

您可以安装任意数量的运行时或 SDK,在安装新的时旧的保持不变(反之亦然)。您可以使用命令列出已安装的运行时dotnet --list-runtimes

C:\>dotnet --list-runtimes
Microsoft.AspNetCore.All 2.1.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.App 2.1.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 2.0.7 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]

推荐阅读