未找到 Microsoft.NetCore.App 或 Microsoft.AspNetCore.App 的指定版本

Posted

技术标签:

【中文标题】未找到 Microsoft.NetCore.App 或 Microsoft.AspNetCore.App 的指定版本【英文标题】:The specified version of Microsoft.NetCore.App or Microsoft.AspNetCore.App was not found 【发布时间】:2020-12-07 06:28:00 【问题描述】:

我已经在生产机器上部署了我的应用程序。我正在发布 Release、win-x64 和 --self-contained true。 我已经安装了 .net core 3.1.7 重新启动了 VPS,我得到了:

未找到指定版本的 Microsoft.NetCore.App 或 Microsoft.AspNetCore.App。

dotnet --info 返回:

  It was not possible to find any installed .NET Core SDKs
  Did you mean to run .NET Core SDK commands? Install a .NET Core SDK from:
      https://aka.ms/dotnet-download

Host (useful for support):
  Version: 3.1.7
  Commit:  fcfdef8d6b

.NET Core SDKs installed:
  No SDKs were found.

.NET Core runtimes installed:
  Microsoft.AspNetCore.App 3.1.7 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 3.1.7 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]

To install additional .NET Core runtimes or SDKs:
  https://aka.ms/dotnet-download

我的 .csproj 文件如下

<PropertyGroup>
    <TargetFramework>netcoreapp3.1</TargetFramework>
<PropertyGroup>

有人知道我为什么会收到这个错误吗?

【问题讨论】:

您能告诉我您是如何托管您的应用程序的吗?直接在 IIS 或服务器上? 如果使用 IIS,您需要一个托管包 我今天回答了一个类似的问题,请按照这个清单:***.com/a/63466234/14072498 我发现了问题。我删除了这个文件 SOS_README.md,当我启用 stdlog 时,我得到了 SOS_README.md 丢失的错误。误导性错误消息。 如果您是作为独立发布的,那么您不需要在主机上安装 .NET Core 【参考方案1】:

从我的角度来看,我在尝试在本地计算机上启动 IIS 服务器时遇到了这个问题。我下载了.NET Core 3.1 SDK,现在问题已经解决了。

【讨论】:

同样的问题会影响 5.0,我通过安装包和 5.0 sdk 解决了这个问题。【参考方案2】:

尝试将其添加到您的 .csproj 文件中:

<PropertyGroup>
  <RollForward>Major</RollForward>
</PropertyGroup>

【讨论】:

您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。

以上是关于未找到 Microsoft.NetCore.App 或 Microsoft.AspNetCore.App 的指定版本的主要内容,如果未能解决你的问题,请参考以下文章

项目的目标是运行时“win7-x64”,但没有为“Microsoft.NETCore.App”包解析任何特定于运行时的包

NETSDK1061:项目已使用 Microsoft.NETCore.App 版本 1.0.0 恢复,但在当前设置下,将使用 2.0.9 版本

NetCore.App SDK 中 .Net Framework 依赖项的用途?

无法在 VS 2017 .NET Core 上启用 Entity Framework 迁移

在 asp.net 核心的构建后事件中运行 dotnet publish

.net core 2.2.0 vs 2.2.7 无法合并,因为版本被项目锁定