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

.NET Framework 4.8 EF应用升级PostgreSQL 16后遇ProviderIncompatibleException

问题解决步骤

这个错误的核心原因是Npgsql与EntityFramework6.Npgsql的版本不匹配,导致EF6的PostgreSQL提供程序无法找到Npgsql程序集中已移除/重命名的EntityAdminDatabase属性方法。按以下步骤解决:

  • 统一包版本:卸载当前项目中所有Npgsql、EntityFramework6.Npgsql相关包,重新安装版本完全匹配的组合。例如:

    • 若安装EntityFramework6.Npgsql 6.0.11,则必须对应安装Npgsql 6.0.11(大版本号必须一致,小版本尽量同步);
    • 可通过NuGet包管理器的「依赖项」查看EntityFramework6.Npgsql对Npgsql的版本要求,严格遵循依赖关系安装。
  • 清理残留程序集:删除项目的bin、obj目录下所有文件,重新编译项目,避免旧版本dll文件残留导致版本冲突。

  • 修正配置文件:检查app.config或web.config中的配置项:

    1. 确保DbProviderFactories配置正确:
      <system.data>
        <DbProviderFactories>
          <remove invariant="Npgsql" />
          <add name="Npgsql Data Provider" invariant="Npgsql" description=".NET Data Provider for PostgreSQL" type="Npgsql.NpgsqlFactory, Npgsql" />
        </DbProviderFactories>
      </system.data>
      
    2. 确认EF的提供程序配置指向正确的程序集:
      <entityFramework>
        <providers>
          <provider invariantName="Npgsql" type="Npgsql.NpgsqlServices, EntityFramework6.Npgsql" />
        </providers>
      </entityFramework>
      
  • 添加绑定重定向:若项目存在多版本程序集引用冲突,在配置文件的<runtime>节点下添加绑定重定向,强制使用同一版本:

    <runtime>
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <dependentAssembly>
          <assemblyIdentity name="Npgsql" publicKeyToken="5d8b90d52f46fda7" culture="neutral" />
          <bindingRedirect oldVersion="0.0.0.0-6.0.11" newVersion="6.0.11" />
        </dependentAssembly>
        <dependentAssembly>
          <assemblyIdentity name="EntityFramework6.Npgsql" publicKeyToken="5d8b90d52f46fda7" culture="neutral" />
          <bindingRedirect oldVersion="0.0.0.0-6.0.11" newVersion="6.0.11" />
        </dependentAssembly>
      </assemblyBinding>
    </runtime>
    

    注意替换示例中的版本号为你实际安装的版本。

  • 验证目标框架:确认项目的目标框架为.NET Framework 4.8,新版本的Npgsql和EntityFramework6.Npgsql依赖该版本的框架支持。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 11:24:54