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

.NET6 Blazor WASM发布失败 报错MSB6006 dotnet.exe退出码1

.NET 6 Blazor WASM 发布报MSB6006退出码1排查方案

从报错路径看,你当前构建默认调用的是6.0.400-preview.22301.10预览版SDK,这个版本的Blazor WASM构建目标文件存在已知兼容性问题,结合你同事可正常发布同份代码、非WASM项目发布正常、空白项目可正常发布的现象,按以下步骤排查即可:

  • 第一步:强制项目使用正式版SDK构建
    预览版SDK优先级高于正式版,如果你装了预览版但没做版本限制,VS会默认调用预览版构建。在项目根目录新建global.json文件,写入以下配置,禁止构建时调用预览版SDK:
    {
      "sdk": {
        "allowPrerelease": false,
        "rollForward": "latestFeature"
      }
    }
    
    保存后关闭Visual Studio,删除项目下的bin、obj文件夹,重新打开VS后先还原NuGet包,再尝试发布,绝大多数情况这步就能解决问题。
  • 第二步:清理本地缓存+卸载问题预览版SDK
    如果第一步操作后仍报错,直接去系统「程序和功能」里卸载6.0.400-preview.22301.10这个预览版SDK——预览版本来就不适合生产发布场景,没必要留着。
    卸载完成后执行以下操作清缓存:
    1. 关闭所有VS实例,打开命令提示符执行dotnet nuget locals all --clear清空全局NuGet缓存
    2. 删除路径C:\Users\你的用户名\AppData\Local\Microsoft\VisualStudio\你安装的VS版本号\ComponentModelCache下的所有文件
    3. 重新打开VS还原包后再试发布
  • 第三步:获取详细错误日志定位根因
    VS图形化发布默认只显示最外层的通用报错,看不到MSB6006错误下隐藏的具体原因。直接在项目根目录打开命令行,执行带详细日志的发布命令:
    dotnet publish -c Release -o ./local_publish -v diag
    这个命令会输出完整构建流程的所有日志,你可以直接翻到报错位置看具体触发原因,常见的触发点包括:项目静态资源文件名带特殊字符、WASM Ahead-of-Time编译时内存不足、第三方NuGet包裁剪异常、路径长度超过系统限制等,对应处理即可。

*注意:空白Blazor项目能正常发布不代表SDK没问题,只是空白项目没有复杂的静态资源、第三方依赖,刚好踩不到这个预览版SDK的构建bug,不要误判成业务项目代码损坏。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 03:09:37