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

Ubuntu下执行EF Core命令报错:应用程序'msbuild'不存在

问题分析与解决办法

核心问题

  • 缺少.NET SDK:从dotnet --info的输出能明确看到.NET SDKs installed: No SDKs were found。dotnet-ef这类需要编译项目、读取项目元数据的命令必须依赖.NET SDK,仅安装.NET Runtime完全满足不了需求。
  • 路径分隔符错误:Ubuntu是Linux系统,文件路径分隔符得用/,但你执行的命令里用了Windows的\,这会导致系统找不到指定的项目文件。

解决步骤

  1. 安装.NET 7 SDK
    你的命令指定了--framework net7.0,所以得安装对应版本的SDK。在Ubuntu上:

    • 先添加微软官方软件源(可通过官方渠道完成源配置)
    • 执行以下命令更新包列表并安装SDK:
      sudo apt-get update && sudo apt-get install -y dotnet-sdk-7.0
      
  2. 修正EF Core命令的路径分隔符
    把命令里所有的\替换成/,修正后的命令如下:

    dotnet-ef database update --project Payment.Service.Persistence/Payment.Service.Persistence.csproj 
          --startup-project Payment.Service.Presentation/Payment.Service.Presentation.csproj 
          --context Payment.Service.Persistence.PaymentServiceDbContext 
          --configuration Debug --framework net7.0 Initial
    
  3. 验证并执行
    先运行dotnet --info确认.NET 7 SDK已经装好,之后再执行修正后的EF Core命令即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 20:03:30