Visual Studio显示“Build succeeded”后卡顿,无法添加Migration
试试用Package Manager Console手动执行迁移命令,别依赖UI操作:
打开Package Manager Console,选中包含DbContext的目标项目,执行Add-Migration YourMigrationName。如果命令执行时抛出具体错误,能直接定位根因,比UI卡死更易排查。检查DbContext的构造函数和OnConfiguring方法:
有些场景下,DbContext初始化时会包含耗时操作——比如连接远程数据库超时、预加载大量数据、自定义复杂初始化逻辑,UI触发迁移时会同步执行这些逻辑,直接导致卡顿。可以临时注释掉非必要的初始化代码,再尝试添加迁移,验证是否是这里的问题。重置Visual Studio用户设置:
打开命令提示符,执行devenv /ResetSettings,将VS配置还原到默认状态,排除因设置异常导致的UI卡顿。排查项目文件损坏可能性:
先备份原项目的.csproj文件,新建一个空类库项目,把原项目的代码文件(包括DbContext、实体类等)复制过去,重新安装EF Core相关NuGet包,再尝试添加迁移。如果新项目能正常执行迁移,说明原项目文件可能存在损坏。开启EF Core日志输出定位耗时点:
在DbContext的OnConfiguring方法中添加日志配置,示例代码如下:protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { optionsBuilder.LogTo(Console.WriteLine); }然后通过Package Manager Console执行迁移命令,查看控制台输出的日志,找到卡顿阶段的具体操作,定位耗时环节。
关闭VS实时代码分析功能:
依次点击「工具」→「选项」→「文本编辑器」→「所有语言」→「代码分析」,取消勾选「实时分析」,重启VS后再尝试操作,避免分析进程干扰迁移流程。
内容的提问来源于stack exchange,提问作者Azim Kazi

