找不到指定的框架 'Microsoft.AspNetCore.All',版本“2.2.0”

The specified framework 'Microsoft.AspNetCore.All', version '2.2.0' was not found

Dotnet --version 表示 2.2.402

dotnet --info

.NET Core SDK (reflecting any global.json):
 Version:   2.2.402
 Commit:    c7f2f96116

Runtime Environment:
 OS Name:     centos
 OS Version:  7
 OS Platform: Linux
 RID:         centos.7-x64
 Base Path:   /usr/share/dotnet/sdk/2.2.402/

Host (useful for support):
  Version: 2.2.8
  Commit:  b9aa1abc51

.NET Core SDKs installed:
  2.2.402 [/usr/share/dotnet/sdk]

.NET Core runtimes installed:
  Microsoft.NETCore.App 2.2.8 [/usr/share/dotnet/shared/Microsoft.NETCore.App]

我正在尝试在 linux 服务器上发布我的应用程序,该服务器在服务器上运行良好,直到我最后一次尝试使用以下命令更新服务器上的应用程序。

dotnet publish -c release -o ${API_PUBLISH_DIR}

构建过程抛出以下错误

It was not possible to find any compatible framework version The specified framework 'Microsoft.AspNetCore.All', version '2.2.0' was not found. - Check application dependencies and target a framework version installed at: /usr/share/dotnet/ - Installing .NET Core prerequisites might help resolve this problem: https://go.microsoft.com/fwlink/?LinkID=798306&clcid=0x409 - The .NET Core framework and SDK can be installed from: https://aka.ms/dotnet-download

更多错误详情是。

/usr/share/dotnet/sdk/NuGetFallbackFolder/microsoft.aspnetcore.mvc.razor.viewcompilation/2.2.0/build/netstandard2.0/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.targets(64,5): error MSB3073: The command ""/usr/share/dotnet/dotnet" exec --runtimeconfig "/home/vng-dev/vng-web/vast-webapplication/vast_webapplication/WebAPI/bin/Release/netcoreapp2.2/WebAPI.runtimeconfig.json" --depsfile "/home/vng-dev/vng-web/vast-webapplication/vast_webapplication/WebAPI/bin/Release/netcoreapp2.2/WebAPI.deps.json" "/usr/share/dotnet/sdk/NuGetFallbackFolder/microsoft.aspnetcore.mvc.razor.viewcompilation/2.2.0/build/netstandard2.0/netcoreapp2.0/Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.dll" @"obj/Release/netcoreapp2.2/microsoft.aspnetcore.mvc.razor.viewcompilation.rsp"" exited with code 150. [/home/vng-dev/vng-web/vast-webapplication/vast_webapplication/WebAPI/WebAPI.csproj]

我没有在 .csproj 文件中提到 AspNetCore.All 的版本,它是这样的

<PackageReference Include="Microsoft.AspNetCore.All" />

还尝试将 AspNetCore.All 替换为 AspNetCore.App,如下所示

<PackageReference Include="Microsoft.AspNetCore.App" />

这也无济于事

我也试过安装 AspNetCore.MVC.Razor.ViewCompilation 包,但没用

编辑:

  1. 还尝试更新 Microsoft.AspNetCore.App 和 Microsoft 的版本。AspNetCore.All 一次一个。
  2. 尝试使用版本属性和不使用版本属性编译应用程序。
  3. 已尝试更新解决方案中的所有项目 (.csproj) 文件。

您的项目有一个 Microsoft.AspNetCore.All 的引用,类似于下面给出的内容。但是在删除 dotnet core 2.0 Microsoft.AspNetCore.All 之后,您已经安装了 dotnet core 2.2.x。 Microsoft.NETCore.App 是与那个包相似的轻量级版本。

我建议安装 dotnet core 2.0。在这种情况下,您不需要更改项目。

<PackageReference Include="Microsoft.AspNetCore.All"/>

对我来说,构建命令出现问题

我正在使用这个命令 -> dotnet publish -c release -o ${API_PUBLISH_DIR}

更改了这个并添加了我正在构建它的平台

dotnet publish -c release -r linux-x64 -o ${API_PUBLISH_DIR}

最近对 .net core 的自动更新弄乱了一些东西,无法弄清楚版本依赖项在哪里。

  • 在您的项目中添加 dotnet core 2.0 版本

< PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.6"/>

  • 也加入属性组
<PropertyGroup>
  <PublishWithAspNetCoreTargetManifest>false</PublishWithAspNetCoreTargetManifest>
</PropertyGroup>