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

Mac端Rider构建ASP.NET Core 2.1应用中途卡住无反应该如何解决?

你观察到的控制台软换行警告仅为现象,并非构建卡死的直接诱因,具体成因和对应解决方法如下:

问题成因
  • ASP.NET Core 2.1 版本在MacOS环境下的MSBuild构建任务存在已知缺陷:部分内置的NuGet还原、资源编译逻辑会把超长的本地文件绝对路径拼接为单行输出,字符长度远超Rider控制台默认的单行处理阈值
  • 适配ASP.NET Core 2.1的Rider 2018~2019版本对MacOS的终端pty接口适配存在bug:当控制台接收到无换行的超长连续输出时,软换行渲染线程会和MSBuild的输出线程出现死锁,直接导致构建进程挂起无响应
  • 若项目引入了包含大量嵌入式资源、多语言本地化资源的第三方NuGet包,构建阶段的资源扫描日志会额外生成无换行的超长单行输出,会大幅提升上述死锁问题的触发概率
解决方法

临时规避方案(单次构建生效)

  • 执行构建前先清空Rider构建控制台的历史输出:点击控制台右上角的垃圾桶图标清空所有日志后再触发构建
  • 临时关闭控制台软换行功能:打开Preferences > Build, Execution, Deployment > Console,取消勾选Use soft wraps in console选项,重启Rider后再执行构建

永久修复方案

  • 升级Rider到2020.1及以上版本:该版本已修复MacOS环境下控制台超长行输出触发的死锁问题,同时保留了软换行的性能优化逻辑
  • 升级项目的ASP.NET Core Runtime到2.1.30及以上补丁版本:微软在2.1的后续维护补丁中修复了MacOS环境下MSBuild任务输出超长无换行路径的问题
  • 给构建任务添加MSBuild全局参数优化输出:打开Preferences > Build, Execution, Deployment > Toolset and Build > MSBuild global properties,新增两个参数DisableConsoleColor=true和LoggerVerbosity=normal,降低构建日志的输出复杂度和单行内容长度

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 12:36:04