.Net Core WebApi 目标框架“net5.0”在构建应用程序时解释为“net50”
Posted
技术标签:
【中文标题】.Net Core WebApi 目标框架“net5.0”在构建应用程序时解释为“net50”【英文标题】:.Net Core WebApi target framework "net5.0" interpreted as "net50" while building app 【发布时间】:2021-05-05 14:45:07 【问题描述】:我正在 .Net core 5.0 中创建一个新的 Web API。但是,每次我尝试构建它时,都会出现以下错误:
Package HotChocolate.AspNetCore 11.1.0 is not compatible with net50 (.NETFramework,Version=v5.0). Package HotChocolate.AspNetCore 11.1.0 supports: net5.0 (.NETCoreApp,Version=v5.0)
我的应用的目标框架是net5.0
:
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
</PropertyGroup>
Installed .Net Version: 5.0.202
OS: Manjaro KDE 21.21.0.2
Kernel version: linux 5.10.30-1
IDE: JetBrains Rider 2020.3
由于某种原因,构建工具将目标框架解释为 .NetFramework v5.0
而不是 .NetCore v5.0
.谁能告诉我这里发生了什么?
【问题讨论】:
你在使用dotnet build
命令吗?
从HotChocolate.AspNetCore repository,我们可以看到HotChocolate.AspNetCore 11.1.0 支持Asp.net Core 5.0,我也尝试在我的应用程序中安装这个版本的包,效果很好。因此,问题可能与 Nuget 缓存有关,请尝试使用 dotnet nuget locals all --clear
清除缓存。然后,重建应用程序。此外,如果您使用 Visual Studio 2019 创建应用程序,请确保您使用的是 Visual Studio 2019 16.8 或更高版本。
@ZhiLv,不幸的是,清除本地 nuget 缓存没有帮助。这也发生在所有针对.net core
和.net standard
的库中,而不仅仅是HotChocolate
。
@NishānWickramarathna 是的,我正在使用dotnet build
命令
【参考方案1】:
这可能是由于 Nuget
的旧版本造成的。尝试删除并重新安装Nuget
。
删除:
pamac remove nuget
pacman -R nuget
安装:
pamac install nuget
pacman -S nuget
【讨论】:
很抱歉,它不起作用。仍然出现同样的错误。【参考方案2】:第一次尝试让热巧克力为我工作时,我收到了完全相同的错误消息。当我查看项目->属性->目标框架时,我注意到 .net 5.0 不在列表中。
我没有单独下载 dotnet 5.0,而是更新了我的 Visual Studio,在重新启动 Visual Studio 后,有了可用的 5.0 框架,一切都自动修复了。您还可以在包管理器控制台上运行 dotnet restore。
【讨论】:
我实际使用的是 Rider IDE,目标框架在列表中。此外,我从骑手那里构建项目没有问题。给我带来麻烦的是 dotnet CLI。我安装的dotnet版本是5.0.202
以上是关于.Net Core WebApi 目标框架“net5.0”在构建应用程序时解释为“net50”的主要内容,如果未能解决你的问题,请参考以下文章
asp.net core 搭建WebAPI微服务-----cosnul服务
asp.net core序列化json配置,适用于mvc,webapi
asp.net core序列化json配置,适用于mvc,webapi