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

ASP.NET Core 7:解决无法加载Bricelam.EntityFrameworkCore.Pluralizer程序集问题

解决Scaffold-DbContext加载Bricelam.EntityFrameworkCore.Pluralizer失败的问题

问题根源

Bricelam.EntityFrameworkCore.Pluralizer 1.0.0版本仅适配EF Core 3.x及更早版本,与你使用的EF Core 7.0.3存在兼容性冲突;同时包引用的PrivateAssets配置限制了设计时工具对该包的访问,导致无法加载程序集。

解决方案

方案1:替换为兼容EF Core 7的复数化工具

Bricelam的该包已停止维护,建议改用社区维护的适配EF Core 7的替代包:

  • 卸载旧包:
    Uninstall-Package Bricelam.EntityFrameworkCore.Pluralizer
    
  • 安装兼容包:
    Install-Package EntityFrameworkCore.Pluralizer -Version 7.0.4
    
  • 重新执行你的Scaffold-DbContext命令即可。

方案2:调整原包引用配置(不推荐,仍存在版本兼容风险)

若坚持使用原包,修改Infrastructure.proj中Bricelam包的引用配置,允许设计时工具访问:

<PackageReference Include="Bricelam.EntityFrameworkCore.Pluralizer" Version="1.0.0">
  <!-- 调整私有资产配置,开放设计时访问权限 -->
  <PrivateAssets>runtime; buildtransitive</PrivateAssets>
  <IncludeAssets>all</IncludeAssets>
</PackageReference>

修改后执行清理项目、重新还原包操作,再运行Scaffold-DbContext命令。

方案3:自定义复数化规则(最灵活可控)

若不想依赖第三方包,可自行实现EF Core的复数化服务:

  1. 创建复数化逻辑类:
using System.Data.Entity.Design.PluralizationServices;
using System.Globalization;
using Microsoft.EntityFrameworkCore.Design;

public class CustomPluralizer : IPluralizer
{
    private readonly PluralizationService _pluralizationService = PluralizationService.CreateService(CultureInfo.CurrentCulture);

    public string Pluralize(string name)
    {
        return _pluralizationService.Pluralize(name);
    }

    public string Singularize(string name)
    {
        return _pluralizationService.Singularize(name);
    }
}
  1. 添加设计时服务注册文件DesignTimeServices.cs:
using Microsoft.EntityFrameworkCore.Design;
using Microsoft.Extensions.DependencyInjection;

public class DesignTimeServices : IDesignTimeServices
{
    public void ConfigureDesignTimeServices(IServiceCollection services)
    {
        services.AddSingleton<IPluralizer, CustomPluralizer>();
    }
}
  1. 重新执行Scaffold-DbContext命令,EF Core会自动使用自定义复数化规则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 01:24:28