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

Add-Migration命令报错:项目未安装Entity Framework包(已装EF Core)

已安装EF Core相关包却提示未安装Entity Framework包的问题

我的解决方案中所有项目均面向.NET 8,仅引用EF Core相关包,未引用旧版Entity Framework包。但执行add-migration命令时,系统始终提示项目UCMS_Surrogates_Rewrite.Data未安装EntityFramework包,另一个配置完全相同的解决方案却能正常执行该命令。

执行的命令及输出:

PM> add-migration newMigration

The EntityFramework package is not installed on project 'UCMS_Surrogates_Rewrite.Data'.

PM> add-migration newMigration -ProjectName UCMS_Surrogates_Rewrite.Data -StartupProjectName UCMS_Surrogates_Rewrite.Api

The EntityFramework package is not installed on project 'UCMS_Surrogates_Rewrite.Data'.

Data项目的.csproj文件内容:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>net8.0</TargetFramework>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>enable</Nullable>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.0" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="7.0.0">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>
    <PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="7.0.0" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="7.0.0" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="7.0.0">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..\UCMS_Surrogates_Rewrite.Domain\UCMS_Surrogates_Rewrite.Domain.csproj" />
  </ItemGroup>

</Project>

可能的解决办法:

  • 修复版本不匹配:项目目标框架是.NET 8,但EF Core包用的是7.0.0版本,版本不兼容会导致工具识别异常。将所有EF Core包升级到8.x系列的稳定版本,确保版本与.NET 8匹配。
  • 切换到.NET CLI命令:Package Manager Console可能存在版本识别问题,改用.NET CLI执行迁移命令:
    dotnet ef migrations add newMigration --project UCMS_Surrogates_Rewrite.Data --startup-project UCMS_Surrogates_Rewrite.Api
    
  • 清理项目缓存:删除Data项目和启动项目的bin、obj文件夹,重启Visual Studio后重新生成整个解决方案,再尝试执行迁移命令。
  • 检查DbContext配置:确认DbContext类正确继承自Microsoft.EntityFrameworkCore.DbContext,且启动项目的Program.cs中已通过AddDbContext完成服务注册。
  • 排查旧版EF残留:检查项目文件和解决方案中是否存在旧版Entity Framework的残留配置(比如不带Core的EntityFramework包引用、旧迁移文件),清理后重新尝试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 08:52:12