Visual Studio中NuGet安装Microsoft.EntityFrameworkCore.SqlServer失败(NU1301错误)
NU1301错误的解决方法及包源排查
常见解决方法
- 匹配项目框架与包版本:NU1301多数情况是安装的
Microsoft.EntityFrameworkCore.SqlServer版本和项目目标框架不兼容。比如高版本包仅支持.NET 6+,但项目用的是.NET Core 3.1或.NET Framework。需确认对应包版本的框架支持列表,选择适配版本安装,命令示例:Install-Package Microsoft.EntityFrameworkCore.SqlServer -Version 6.0.25(替换为适合你项目的版本)。 - 清理NuGet缓存:缓存文件损坏会导致拉取包失败。可通过Visual Studio的「工具>选项>NuGet包管理器>常规」点击「清除所有NuGet缓存」;或用命令行执行:
dotnet nuget locals all --clear。 - 排查网络访问:如果网络受代理、防火墙限制,会无法连接NuGet.org。先测试能否正常打开NuGet官网,若需代理,可在NuGet配置文件(NuGet.config)中添加代理设置,或执行
dotnet restore时指定带代理的配置文件。 - 重置NuGet包源:包源配置异常也会引发错误。打开Visual Studio的「工具>选项>NuGet包管理器>包源」,确认NuGet.org源已启用,地址为
https://api.nuget.org/v3/index.json。若有问题,删除现有源后重新添加。 - 更新NuGet客户端:旧版NuGet可能不支持新的包协议或版本。在Visual Studio的「扩展>管理扩展」中更新NuGet包管理器;或用命令行更新全局工具:
dotnet tool update --global dotnet-nuget。
包源问题排查
NU1301不一定是NuGet.org包源本身的问题,可通过以下方式确认:
- 直接查看NuGet.org上的
Microsoft.EntityFrameworkCore.SqlServer包页面,确认包存在且可正常访问。 - 尝试安装其他NuGet包(比如
Newtonsoft.Json),如果也失败,说明是包源访问问题;若仅这个包失败,大概率是版本与项目框架不兼容。
内容的提问来源于stack exchange,提问作者Shehroz Ali
相关产品推荐
相关产品推荐

