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

如何修复macOS下ASP.NET Core脚手架报rzc generate exited with code 150错误

问题根本原因

你的项目存在包版本不兼容问题:

  • .NET SDK 5.0支持向下兼容3.1版本项目,但你单独引用了Microsoft.AspNetCore.Mvc 2.2.0这个过时的包。ASP.NET Core 3.0之后,Mvc相关的组件已经全部内置在Microsoft.NET.Sdk.Web SDK中,不需要单独引用,2.2版本的包和3.1的项目框架冲突,导致Razor代码生成工具调用失败。
  • 低版本的Microsoft.AspNetCore.Razor.Design 2.2.0是过时的Mvc包连带引入的,和3.1项目的Razor版本不匹配,所以抛出rzc generate错误150。

可行修复步骤

  • 第一步:卸载Microsoft.AspNetCore.Mvc 2.2.0包
    直接删除你.csproj里的这两行配置:
    <None Remove="Microsoft.AspNetCore.Mvc" />
    <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.2.0" />
    
  • 第二步:清理Nuget缓存和项目构建文件
    打开终端进入项目根目录,依次执行以下命令:
    dotnet clean
    dotnet nuget locals all --clear
    
  • 第三步:还原项目依赖并重新构建
    继续执行:
    dotnet restore
    dotnet build
    
  • 第四步:重新尝试生成控制器脚手架,此时错误应该已经解决。

额外排查方案

如果执行完上述步骤还是报错,可以尝试以下操作:

  • 确认你安装的3.1版本运行时完整,在终端执行dotnet --list-runtimes,确认输出中有Microsoft.AspNetCore.App 3.1.x版本
  • 把所有3.1的Nuget包统一升级到最新的3.1.x补丁版本,比如当前Microsoft.EntityFrameworkCore.SqlServer是3.1.15,可以和其他包统一升级到3.1.18,避免版本差导致的兼容问题
  • 如果还是不行,可以在.csproj的PropertyGroup节点中加入以下配置,指定Razor语言版本和3.1框架匹配:
    <RazorLangVersion>3.0</RazorLangVersion>
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 23:48:04