You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用dotnet restore还原NuGet包时遇Microsoft.NETCore.App依赖解析错误

解决dotnet restore无法解析Microsoft.NETCore.App的问题

我来帮你排查这个dotnet restore时遇到的错误,你看到的:

Unable to resolve 'Microsoft.NETCore.App (>= 2.1.0)' for '.NETCoreApp,Version=v2.1'

核心原因是你的Visual Studio版本与安装的.NET Core SDK版本不兼容,具体来说:
你安装的是.NET Core 2.1 RC1 SDK(dotnet-sdk-2.1.300-rc1-008673),但这个版本的SDK需要Visual Studio 2017 15.6 Preview 3或更高版本才能支持,而你当前使用的VS2017 v15.2版本太旧,无法识别这个SDK,也无法正确还原对应的RC1版本NuGet包。

下面是具体的解决步骤:

1. 升级Visual Studio版本

直接升级你的VS2017到15.6 Preview 3及以上版本(或者如果现在已经有正式版,也可以升级到支持.NET Core 2.1正式版的VS版本,比如VS2017 15.7+)。升级完成后,VS会自动识别你已安装的.NET Core 2.1 RC1 SDK,此时dotnet restore就能正常找到对应的包源。

2. 优化你的.csproj配置(可选但推荐)

对于.NET Core 2.1及以上版本,Microsoft.AspNetCore.App是官方提供的元包,不需要手动指定版本号(SDK会自动匹配对应的版本)。你可以修改csproj中的对应引用:

<!-- 替换原来带版本的引用 -->
<PackageReference Include="Microsoft.AspNetCore.App" />

这样SDK会自动根据当前使用的版本匹配最合适的包版本,避免版本不匹配的问题。

3. 清理并重新还原包

升级VS后,先执行以下命令清理项目:

dotnet clean

然后再重新执行还原命令:

dotnet restore

或者直接在Visual Studio中右键项目,选择「还原NuGet包」即可。

备选方案(不推荐)

如果你暂时不想升级VS,只能降级你的.NET Core SDK到VS2017 15.2支持的版本(比如.NET Core 2.0 SDK),同时修改项目的TargetFramework为netcoreapp2.0,并把所有相关包版本替换为2.0.x系列。但这样会导致你无法使用.NET Core 2.1的新特性,所以还是优先推荐升级VS。

内容的提问来源于stack exchange,提问作者Mirhat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 06:44:06