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

.NET 8下MVC脚手架生成EF视图控制器时包还原失败求助

解决.NET 8下EF脚手架生成控制器的包版本冲突问题

核心问题分析

脚手架生成时自动安装的Microsoft.VisualStudio.Web.CodeGeneration(8.0.7)与你项目中锁定的EF Core 8.0.0版本存在兼容性差异,导致包还原失败并回滚。

具体解决步骤

  • 手动锁定CodeGeneration包版本
    编辑项目的.csproj文件,添加或修改以下包引用,强制指定版本为8.0.0:

    <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="8.0.0">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>
    

    保存文件后,执行dotnet restore重新还原包。

  • 清理NuGet本地缓存
    打开命令提示符或终端,执行以下命令清除本地NuGet缓存,避免残留的高版本包干扰:

    dotnet nuget locals all --clear
    
  • 同步全局脚手架工具版本
    先卸载全局安装的高版本脚手架工具,再安装8.0.0版本:

    dotnet tool uninstall -g dotnet-aspnet-codegenerator
    dotnet tool install -g dotnet-aspnet-codegenerator --version 8.0.0
    
  • 确保所有相关包版本一致
    在NuGet包管理器中检查:

    • Entity Framework Core、Entity Framework Core.SqlServer、Entity Framework Core.Tools均为8.0.0
    • Microsoft.VisualStudio.Web.CodeGeneration.Design保持8.0.0,禁止自动更新
  • 尝试命令行生成脚手架
    如果Visual Studio界面操作仍有问题,直接用命令行执行生成命令(替换示例中的实体类、上下文类名称):

    dotnet aspnet-codegenerator controller -name ExpenseController -m Expense -dc ExpenseDbContext --relativeFolderPath Controllers --useDefaultLayout --referenceScriptLibraries
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 11:20:07