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

如何解决dotnet-ef运行时找不到<project>EntityFrameworkCore.targets文件的问题

问题1解答

该文件由你项目中安装的Microsoft.EntityFrameworkCore.Tools NuGet包负责生成,这个包内置了EF Core相关的构建目标,会在项目构建过程中自动将该文件写入obj目录,用于给EF Core命令行工具提供项目元数据、编译上下文等核心信息。

问题2解答

按照以下步骤操作即可强制重新生成该文件,同时解决你遇到的报错:

前置清理操作

  • 关闭所有打开的IDE(Visual Studio/Rider等),避免文件占用导致清理不彻底
  • 手动删除项目根目录下的bin、obj文件夹
  • 如有必要,删除解决方案根目录下的.vs隐藏文件夹

检查项目配置

打开你的项目.csproj文件,确认Microsoft.EntityFrameworkCore.Tools的引用配置正确,确保IncludeAssets包含build属性,示例配置如下:

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

你当前所有EF Core相关包版本统一为6.0.0,不存在版本冲突问题,不需要调整版本。

执行还原和构建

打开终端,切换工作目录到你的项目根目录(即.csproj文件所在的文件夹),依次执行以下命令:

  1. dotnet restore 还原所有NuGet依赖包
  2. dotnet build 完整构建项目

构建完成后即可在obj目录下看到生成的.csproj.EntityFrameworkCore.targets文件。

额外注意事项

你报错信息中目标文件名称为.csproj.EntityFrameworkCore.targets,前缀缺少项目名称,大概率是你之前执行dotnet ef命令时的工作目录不对,或者没有指定目标项目参数。后续执行迁移命令时如果需要在解决方案层级执行,需要手动指定项目:

dotnet ef migrations add init0 --project 你的项目名称.csproj

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 05:36:09