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

Asp.Net Core 2.1 RC搭配Npgsql 2.1 RC反向生成数据库失败求助

解决Scaffold-DbContext时INpgsqlOptions依赖解析错误

我之前在使用EF Core 2.1 RC版本搭配Npgsql做数据库反向工程时,也碰到过一模一样的问题。这类错误大多是包版本不匹配、NuGet缓存冲突或者工具版本不一致导致的,下面是几个亲测有效的解决方案:

1. 严格对齐所有相关包的版本

EF Core和Npgsql的版本必须完全对应,哪怕是RC版本的微小差异都可能触发依赖注入异常。请检查你的项目.csproj文件,确保以下包的版本完全一致:

<PackageReference Include="Microsoft.EntityFrameworkCore" Version="2.1.0-rc1-final" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.1.0-rc1-final">
  <PrivateAssets>all</PrivateAssets>
  <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="2.1.0-rc1-final" />

2. 清理NuGet缓存并重装依赖包

缓存的旧包文件很容易引发版本冲突,先清理本地NuGet缓存:

# 在Package Manager Console执行
dotnet nuget locals all --clear

然后卸载并重新安装相关包:

Uninstall-Package Npgsql.EntityFrameworkCore.PostgreSQL -Force
Uninstall-Package Microsoft.EntityFrameworkCore.Tools -Force

Install-Package Npgsql.EntityFrameworkCore.PostgreSQL -Version 2.1.0-rc1-final
Install-Package Microsoft.EntityFrameworkCore.Tools -Version 2.1.0-rc1-final

如果用dotnet CLI的话,命令如下:

dotnet remove package Npgsql.EntityFrameworkCore.PostgreSQL
dotnet remove package Microsoft.EntityFrameworkCore.Tools

dotnet add package Npgsql.EntityFrameworkCore.PostgreSQL --version 2.1.0-rc1-final
dotnet add package Microsoft.EntityFrameworkCore.Tools --version 2.1.0-rc1-final

3. 匹配全局EF Core工具版本

有时候全局安装的EF Core工具版本和项目依赖版本不匹配也会出问题,先检查全局工具版本:

dotnet ef --version

如果版本不是2.1 RC,安装对应版本的全局工具:

dotnet tool install --global dotnet-ef --version 2.1.0-rc1-final

完成以上步骤后,重新运行你的Scaffold命令:

Scaffold-DbContext "Host=localhost;Database=mydatabase;Username=myuser;Password=mypassword" Npgsql.EntityFrameworkCore.PostgreSQL

通常版本对齐+清理缓存就能解决这个问题,如果还是不行,可以尝试新建一个空的ASP.NET Core 2.1 RC项目测试反向工程,排除项目本身的配置冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 09:35:29