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

.NET Core迁移突然失效:MSB1008错误排查求助

解决dotnet ef迁移命令报MSB1008: Only one project can be specified错误

问题背景

项目此前多次执行EF迁移命令均正常,使用的命令为:

dotnet ef migrations add "TestMigration" --project src/Infrastructure --startup-project src/WebUI --output-dir Persistence/Migrations

今日执行该命令时突然触发错误,切换命令执行目录、调整参数、回退至历史正常分支均无法解决,完整错误日志如下:

MSBUILD : error MSB1008: Only one project can be specified.
Full command line: 'C:\Program Files\dotnet\sdk\6.0.321\MSBuild.dll -maxcpucount -verbosity:m -restore -consoleloggerparameters:Summary ef migrations add Initial --project src/Infrastructure --startup-project src/WebUI --output-dir Persistence/Migrations -distributedlogger:Microsoft.DotNet.Tools.MSBuild.MSBuildLogger,C:\Program Files\dotnet\sdk\6.0.321\dotnet.dll*Microsoft.DotNet.Tools.MSBuild.MSBuildForwardingLogger,C:\Program Files\dotnet\sdk\6.0.321\dotnet.dll'
Switches appended by response files:
Switch: migrations

可行解决方案

  • 对齐EF Core工具与SDK版本
    当前使用的.NET SDK为6.0.321,确保全局安装的EF Core工具版本与SDK版本匹配:

    # 查看已安装的EF工具版本
    dotnet tool list --global
    # 更新至对应.NET 6.x版本的EF工具
    dotnet tool update --global dotnet-ef --version 6.0.25
    
  • 清理MSBuild缓存与项目编译文件
    错误日志显示响应文件错误追加了migrations开关,可通过清理缓存修复:

    • 删除项目根目录下的.vs、bin、obj文件夹
    • 删除C:\Users\{你的用户名}\AppData\Local\Microsoft\MSBuild目录下对应6.0.321版本的缓存文件夹
  • 显式指定项目文件路径
    避免路径解析歧义,直接传入项目的.csproj文件完整路径:

    dotnet ef migrations add "TestMigration" --project src/Infrastructure/Infrastructure.csproj --startup-project src/WebUI/WebUI.csproj --output-dir Persistence/Migrations
    
  • 修复.NET SDK安装
    若以上方法无效,可能是SDK文件损坏,重新安装对应版本的.NET 6 SDK:

    • 卸载当前的6.0.321 SDK
    • 从微软官方渠道下载并重新安装同版本SDK
  • 简化命令参数格式
    尝试移除迁移名称的引号,避免特殊字符解析问题:

    dotnet ef migrations add TestMigration --project src/Infrastructure --startup-project src/WebUI --output-dir Persistence/Migrations
    

内容的提问来源于stack exchange,提问作者David Borštner

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 03:35:04