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

.Net Core 3.1 Web API添加EF控制器提示包还原失败回滚变更如何解决

.NET Core 3.1 Web API 脚手架生成控制器报错修复方案

版本一致性校验

  • 确认项目所有Microsoft.AspNetCore.*、Microsoft.EntityFrameworkCore.*前缀的NuGet包版本完全匹配3.1.x稳定版,禁止跨大版本混用(比如部分包为5.0/6.0版本),也不要出现同大版本下小版本号差异过大的情况
  • 打开项目.csproj文件,检查TargetFramework节点是否明确为netcoreapp3.1,没有被误修改

项目缓存清理

  • 完全关闭Visual Studio,删除项目根目录下的.vs隐藏文件夹、bin文件夹、obj文件夹
  • 重新打开解决方案,右键解决方案选择「恢复NuGet包」,等待恢复完成后再尝试添加控制器

安装代码生成器必需依赖

  • 手动通过NuGet包管理器安装3.1版本的Microsoft.VisualStudio.Web.CodeGeneration.Design包,该包是Entity Framework脚手架生成控制器的必需依赖,多数情况下不会随EF包自动安装对应版本

调整NuGet源配置

  • 打开Visual Studio的NuGet包管理器设置,进入包源配置页,只保留官方nuget.org源,临时禁用所有第三方源,避免第三方源缺失对应版本包导致恢复失败

命令行调试定位问题

如果以上步骤都无法解决,打开项目根目录的终端,执行以下命令手动生成控制器,通过输出的详细错误日志定位具体问题:

dotnet aspnet-codegenerator controller -name [自定义控制器名] -async -api -m [关联实体类名] -dc [自定义/现有DbContext类名] -outDir Controllers

替换命令中的占位符为你的项目实际参数即可,执行后输出的错误信息可以精准定位到具体冲突的包或者配置项。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 12:48:02