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

使用EF Tools执行add-migration时出现‘ScriptHalted’错误求助

解决EF Tools执行命令返回“ScriptHalted”的问题

我之前也踩过这个坑,折腾了好一会儿才搞定,给你分享几个大概率能解决的方案:

  • 先确认项目选择是否正确
    很多时候是程序包管理器控制台(PMC)的「默认项目」选错了!一定要确保下拉框里选中的是包含DbContext的那个项目(通常是数据访问类库),而不是Web项目或者其他无关项目。如果DbContext在单独类库,还要保证Web项目已经引用它,并且解决方案的启动项目设置为Web项目。

  • 清理EF工具缓存并重装
    先在PMC里执行卸载命令:

    dotnet tool uninstall --global dotnet-ef
    

    然后重装最新版:

    dotnet tool install --global dotnet-ef
    

    接着右键项目选择「清理」,删掉bin和obj文件夹后重新生成解决方案。

  • 检查DbContext的配置细节
    确保你的DbContext有正确的构造函数:

    public class YourDbContext : DbContext
    {
        public YourDbContext(DbContextOptions<YourDbContext> options) : base(options)
        {
        }
        // 你的DbSet定义...
    }
    

    同时确认Program.cs(或Startup.cs)里正确注册了DbContext,并且appsettings.json的连接字符串没有拼写错误(服务器名、数据库名、认证方式都要核对)。

  • 换用dotnet CLI命令试试
    有时候PMC的错误提示太模糊,打开终端切换到DbContext所在项目的根目录,执行:

    dotnet ef migrations add migrationName
    

    这里往往会返回更详细的异常信息,能帮你定位具体问题。

  • 核对SDK与EF工具版本兼容性
    用dotnet --version查看项目的.NET SDK版本,再用dotnet ef --version看EF工具版本,尽量保证大版本一致(比如项目用.NET 6,就别装对应.NET 8的EF工具),版本不兼容也容易导致这类奇怪的报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:02:32