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

.NET 7 ASP.NET API迁移报错:Add-Migration与Install-Package未被识别

解决.NET 7 ASP.NET API中add-migration未识别的问题

1. 先理清两种工具的命令差异

你之前混淆了Package Manager Console(PMC)和.NET CLI的命令规则,这是核心问题:

  • PMC环境(Visual Studio内置控制台):安装工具用Install-Package,迁移命令是Add-Migration InitialCreate
  • 终端/命令行(.NET CLI):安装工具用dotnet add package,迁移命令是dotnet ef migrations add InitialCreate
    你在CLI里输入install-package肯定报错,这是PMC专属命令。

2. 按工具类型分步解决

方式一:用Visual Studio的PMC操作

  1. 打开工具 > NuGet包管理器 > 包管理器控制台,确认顶部“默认项目”下拉选中你的ASP.NET API项目
  2. 先验证工具是否安装:
    Get-Package Microsoft.EntityFrameworkCore.Tools
    
  3. 若未安装,执行:
    Install-Package Microsoft.EntityFrameworkCore.Tools -Version 7.0.x
    
    (把x替换成和你项目中EF Core版本匹配的数字,比如7.0.14)
  4. 直接执行迁移命令:
    Add-Migration InitialCreate
    

方式二:用.NET CLI操作

  1. 打开终端(Visual Studio内置终端或系统命令行),切换到你的API项目根目录(有.csproj文件的文件夹)
  2. 验证工具是否已安装:
    dotnet list package
    
  3. 若未安装,执行:
    dotnet add package Microsoft.EntityFrameworkCore.Tools --version 7.0.x
    
  4. 若执行dotnet ef提示未识别,说明全局EF CLI工具没装,先安装:
    dotnet tool install --global dotnet-ef --version 7.0.x
    
    安装完成后重启终端,再执行迁移:
    dotnet ef migrations add InitialCreate
    

3. 项目文件配置检查

打开API项目的.csproj文件,确保包含以下配置(没有就手动添加):

<PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.x" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="7.0.x">
  <PrivateAssets>all</PrivateAssets>
  <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>

保存后右键项目选择还原NuGet包,再清理重建项目。

4. 额外排查点

  • 确认Visual Studio版本是2022 17.4及以上(才支持.NET 7)
  • 执行dotnet --version验证系统环境里的.NET SDK是7.x版本
  • 若用VS Code,确保安装了C#扩展,终端用的是正确的.NET环境

内容的提问来源于stack exchange,提问作者W.H

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 03:59:59