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

.NET Core 5中如何正确注册Firebird数据库提供程序?

问题根因

.NET 5 不再读取app.config中<system.data><DbProviderFactories>节点的提供程序注册逻辑,你当前配置里把FirebirdClientFactory加到configSections的操作是无效的——configSections的作用是声明自定义配置节点的解析规则,根本不是用来注册ADO.NET提供程序的。另外你同时安装了EF6和EF Core版本的Firebird提供程序包,两个包的程序集加载逻辑冲突,也会放大这个报错。

修复步骤
  • 清理冗余依赖
    从你保留的<entityFramework>配置节点看,你是把EF6版本的项目移植到.NET 5,不是用EF Core,直接卸载EntityFrameworkCore.Firebird包避免加载冲突。安装包时优先直接装稳定版EntityFramework.Firebird,它会自动拉取版本完全匹配的FirebirdSql.Data.FirebirdClient依赖,不需要手动单独指定客户端版本,避免版本不兼容。
  • 删除无效配置
    删掉app.config里多余的这行错误配置:
    <section name="FirebirdSql.Data.FirebirdClient.FirebirdClientFactory" type="FirebirdSql.Data.FirebirdClient.FirebirdClientFactory, FirebirdSql.Data.FirebirdClient"/>
    
  • 代码侧注册ADO.NET提供程序
    .NET Core/.NET 5+ 下ADO.NET提供程序工厂不再支持配置文件注册,必须在程序启动入口(EF上下文初始化之前)执行注册代码。如果是ASP.NET Core项目就放在Startup.ConfigureServices最开头,如果是控制台、WinForms/WPF项目就放在Main方法第一行:
    using System.Data.Common;
    using FirebirdSql.Data.FirebirdClient;
    
    DbProviderFactories.RegisterFactory(
        "FirebirdSql.Data.FirebirdClient",
        FirebirdClientFactory.Instance
    );
    
  • 修正app.config配置
    修正后的配置不需要任何system.data相关节点,保留EF6的有效配置即可,完整参考如下:
    <configuration>
      <configSections>
        <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
      </configSections>
      <entityFramework>
        <defaultConnectionFactory type="EntityFramework.Firebird.FbConnectionFactory, EntityFramework.Firebird" />
        <providers>
          <provider invariantName="FirebirdSql.Data.FirebirdClient" type="EntityFramework.Firebird.FbProviderServices, EntityFramework.Firebird"/>
        </providers>
      </entityFramework>
    </configuration>
    
  • 发布注意事项
    如果是桌面项目做独立发布,先把项目文件里的PublishTrimmed属性设为false,程序集裁剪会误删Firebird客户端的元数据,导致提供程序加载失败,功能验证正常后再根据需要调整裁剪配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 04:57:19