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

执行dotnet ef dbcontext scaffold时,报错无法加载Scaffolded程序集的原因

问题原因及解决方案

核心原因

EF Core脚手架工具执行时,要求启动项目(Scaffolder)必须能访问目标项目(Scaffolded)的程序集,而你的启动项目未添加对Scaffolded项目的引用,这是报错的直接诱因。另外,.NET 6项目搭配EF Core 5.x的跨版本组合,也可能存在潜在的程序集加载兼容问题。

解决步骤

  • 添加项目引用
    右键解决方案中的Scaffolder项目,选择「添加」→「项目引用」,勾选Scaffolded项目后保存。也可以在解决方案目录执行命令:

    dotnet add Scaffolder/Scaffolder.csproj reference Scaffolded/Scaffolded.csproj
    

    (注意替换为实际的项目文件路径)

  • 清理重建解决方案
    执行以下命令清除构建缓存并重新编译,避免缓存导致的程序集加载异常:

    dotnet clean
    dotnet build
    
  • 对齐EF Core版本兼容性
    启动项目是.NET 6但使用EF Core 5.x,虽.NET 6兼容.NET Standard 2.1,但跨大版本搭配可能引发加载问题。建议将两个项目的EF Core相关包升级到5.x系列最新补丁版(如5.0.17),或直接升级到EF Core 6.x,与.NET 6版本匹配,从根源减少兼容隐患。

  • 验证命令参数路径
    确保--project参数指定的是Scaffolded项目文件的正确相对路径,若项目不在当前目录需完整写出,例如:

    dotnet ef dbcontext scaffold "<MyConnectionString>" Microsoft.EntityFrameworkCore.SqlServer --startup-project ./Scaffolder/Scaffolder.csproj --project ./Scaffolded/Scaffolded.csproj --output-dir Models --force
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 17:47:23