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

.NET Core 8/Blazor执行Entity Framework迁移报错,求有效解决方案

解决方案
  • 确保dotnet-ef工具版本与项目.NET版本匹配

    • 先查看全局工具版本:dotnet tool list -g
    • 若全局工具是低版本(如5.x),卸载后安装对应.NET 8的版本:
      • 卸载命令:dotnet tool uninstall --global dotnet-ef
      • 安装命令:dotnet tool install --global dotnet-ef --version 8.*
    • 也可改用项目本地工具避免版本冲突:
      • 项目目录执行:dotnet new tool-manifest
      • 添加本地工具:dotnet tool install dotnet-ef --version 8.*
      • 后续执行dotnet ef命令会自动使用本地版本
  • 统一EF Core包与项目.NET版本

    • 项目基于.NET 8,EF Core版本必须与.NET主版本匹配(需用8.x版本),之前降级到5.0.5会导致版本不兼容
    • 打开项目.csproj文件,将所有Microsoft.EntityFrameworkCore相关包版本改为8.*,示例:
      <PackageReference Include="Microsoft.EntityFrameworkCore" Version="8.0.0" />
      <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.0">
        <PrivateAssets>all</PrivateAssets>
        <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
      </PackageReference>
      <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="8.0.0" />
      
    • 执行dotnet restore恢复依赖包
  • 验证.NET SDK安装与环境配置

    • 执行dotnet --list-sdks确认已安装.NET 8.x SDK
    • 若未安装,下载并安装对应版本的.NET 8 SDK
    • 检查DOTNET_ROOT环境变量是否指向.NET 8安装目录,若缺失则添加;安装完成后重启终端使配置生效
  • 清理缓存并重建项目

    • 清理dotnet工具缓存:dotnet tool clean
    • 清理项目编译缓存:删除项目目录下的bin、obj文件夹,或执行dotnet clean
    • 执行dotnet build重新构建项目,之后再尝试创建迁移

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 23:52:34