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

Microsoft .NET Core 3与Visual Studio:迁移代码路径后Add Migration创建apphost失败如何解决?

我之前迁移项目路径后也碰到过这个坑!EF的迁移工具很依赖项目的路径和缓存信息,迁移后旧的缓存或者未更新的项目引用会导致Add-Migration找不到源代码。试试下面这些步骤,应该能解决:

具体解决方法

1. 彻底清理项目缓存

  • 先关掉你的IDE(比如Visual Studio),找到项目根目录,删除隐藏的.vs文件夹(这个是VS的本地缓存,经常搞事情)
  • 删掉项目里的bin和obj文件夹,这俩里面的编译产物还带着旧路径的残留
  • 重新打开IDE,右键解决方案选清理解决方案,再选生成解决方案,确保编译环境是干净的

2. 检查并更新项目文件里的旧路径

有时候.csproj文件里会残留旧的绝对路径引用:

  • 右键项目→卸载项目,然后右键→编辑项目文件
  • 用搜索功能找旧路径C:\Users\chris\Dropbox\repos,把所有匹配的内容替换成新路径C:\Users\chris\source\repos
  • 保存文件后重新加载项目

3. 明确指定EF上下文执行迁移

不管你用Package Manager Console还是.NET CLI,都要确保选中了正确的项目,并且明确指定DbContext:

  • Package Manager Console:先在控制台的「默认项目」下拉框选你的目标项目,然后执行:
    Add-Migration YourMigrationName -Context YourDbContextClassName
    
  • .NET CLI:在终端切换到项目根目录,执行:
    dotnet ef migrations add YourMigrationName --context YourDbContextClassName
    
    (把YourMigrationName改成你要的迁移名称,YourDbContextClassName换成你实际的DbContext类名)

4. 重置EF全局工具(如果用.NET CLI)

要是上面的步骤都没用,可能是EF工具的全局缓存出问题了,重置一下:

dotnet tool uninstall --global dotnet-ef
dotnet tool install --global dotnet-ef

一般做完前两步就能解决问题了,要是还不行再试后面的。我当时就是清理了缓存+更新了项目文件里的路径就搞定了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 06:54:08