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

ASP.NET Scaffolding生成Controller失败问题求助

解决ASP.NET Core脚手架生成Controller的两个常见问题

一、解决"需添加Microsoft.VisualStudio.Web.CodeGeneration.Design包"的错误(实际已安装)

  • 对齐工具与项目包版本
    执行dotnet tool list --global查看dotnet-aspnet-codegenerator的版本,打开.csproj文件确认Microsoft.VisualStudio.Web.CodeGeneration.Design的版本,两者必须完全匹配(比如均为7.0.10)。
  • 重新安装工具与包
    1. 卸载全局工具:dotnet tool uninstall --global dotnet-aspnet-codegenerator
    2. 安装对应版本的工具:dotnet tool install --global dotnet-aspnet-codegenerator --version [你的项目包版本]
    3. 在项目目录下重新安装包:dotnet add package Microsoft.VisualStudio.Web.CodeGeneration.Design --version [你的项目包版本]
  • 清理项目缓存
    执行dotnet clean,再执行dotnet restore,关闭当前终端后重新打开再运行脚手架命令。

二、解决"要求安装Microsoft.EntityFrameworkCore.SqlServer"的错误(实际使用MySQL)

  • 确认MySQL EF Core驱动已正确安装
    根据使用的MySQL驱动类型,安装对应包:
    • Pomelo驱动:dotnet add package Pomelo.EntityFrameworkCore.MySql --version [与EF Core匹配的版本]
    • 官方MySQL驱动:dotnet add package MySql.EntityFrameworkCore --version [匹配版本]
  • 验证DbContext配置
    确保EmployeeContext已配置使用MySQL驱动,示例代码:
    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        if (!optionsBuilder.IsConfigured)
        {
            optionsBuilder.UseMySql("你的MySQL连接字符串", ServerVersion.AutoDetect("你的MySQL连接字符串"));
        }
    }
    
    或在Program.cs中配置:
    builder.Services.AddDbContext<EmployeeContext>(options =>
        options.UseMySql(builder.Configuration.GetConnectionString("DefaultConnection"), ServerVersion.AutoDetect(builder.Configuration.GetConnectionString("DefaultConnection"))));
    
  • 明确指定脚手架的数据库Provider
    执行脚手架命令时添加--provider参数,指定MySQL对应的Provider:
    # Pomelo驱动使用此命令
    dotnet aspnet-codegenerator controller -name EmployeeController -m Employee -dc EmployeeContext --relativeFolderPath Controllers --useDefaultLayout --referenceScriptLibraries --provider Pomelo.EntityFrameworkCore.MySql
    
    # 官方MySQL驱动使用此命令
    dotnet aspnet-codegenerator controller -name EmployeeController -m Employee -dc EmployeeContext --relativeFolderPath Controllers --useDefaultLayout --referenceScriptLibraries --provider MySql.EntityFrameworkCore
    

内容的提问来源于stack exchange,提问作者Bruno Miguel Groth

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 13:03:30