NetCore 项目不发布,不断给出版本不匹配的错误

NetCore project does not publish, keeps giving error of versioning mismatch

我有一个 asp.net 核心项目,它支持所有 .net 核心版本 2.2 中的库。他们运行,我可以调试,他们也可以在发布模式下工作。但是,当我尝试发布它们时,我得到了一个错误列表。主要原因显示为web项目:

Error NU1202: Package Microsoft.NETCore.App 2.2.0 is not compatible with netcoreapp2.1 (.NETCoreApp,Version=v2.1). Package Microsoft.NETCore.App 2.2.0 supports: netcoreapp2.2 (.NETCoreApp,Version=v2.2)

之后,对于解决方案中 Web 项目 references/uses 的每个项目,此错误都会重复出现。

我已经验证了依赖关系,这是我在网络项目中看到的:

还有这个:

如您所见,该项目引用了最新版本 2.2.0。所以我不知道它在哪里选择这个 netcoreapp2.1?

如果那是配置问题,为什么这个错误在调试和发布构建甚至调试期间都没有出现。请注意,我的发布是基于 Release 构建的,它使用 netcore 2.2 作为依赖框架。

这就是我 运行 dotnet --list-运行times

得到的结果
  • Microsoft.AspNetCore.All 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  • Microsoft.AspNetCore.All 2.1.7 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  • Microsoft.AspNetCore.All 2.1.8 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  • Microsoft.AspNetCore.All 2.2.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  • Microsoft.AspNetCore.All 2.2.1 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  • Microsoft.AspNetCore.All 2.2.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  • Microsoft.AspNetCore.App 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  • Microsoft.AspNetCore.App 2.1.7 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  • Microsoft.AspNetCore.App 2.1.8 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  • Microsoft.AspNetCore.App 2.2.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  • Microsoft.AspNetCore.App 2.2.1 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  • Microsoft.AspNetCore.App 2.2.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  • Microsoft.AspNetCore.App 3.0.0-preview-18579-0056 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  • Microsoft.NETCore.App 2.0.9 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  • Microsoft.NETCore.App 2.1.7 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  • Microsoft.NETCore.App 2.1.8 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  • Microsoft.NETCore.App 2.2.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  • Microsoft.NETCore.App 2.2.1 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  • Microsoft.NETCore.App 2.2.2 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  • Microsoft.NETCore.App 3.0.0-preview-27122-01 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  • Microsoft.WindowsDesktop.App 3.0.0-alpha-27128-4 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

我认为您安装的 runtime.net core hosting 2.1

您应该下载 dotnet runtime 2.2 或更高版本。

这个问题可能与您在 Visual Studio 中的发布设置有关。您有两种解决问题的方法。

选项A.直接编辑文件夹\Properties\PublishProfiles下的文件FolderProfile.pubxml,将目标框架从2.1改成2.2:

<TargetFramework>netcoreapp2.2</TargetFramework>

选项 B。转到发布菜单并单击配置...看来只需转到菜单并单击保存即可解决问题,因为菜单默认为项目默认 2.2。

希望这能解决您的问题。