Blazor WASM项目发布失败:Error MSB6006 'dotnet.exe'退出代码1求助
解决Blazor WASM发布失败(MSB6006: dotnet.exe exited with code 1)的思路
确认global.json配置有效性
把global.json放在解决方案根目录(不是单个项目文件夹),确保版本号和已安装的旧SDK完全一致,同时设置rollForward: disable防止自动升级,示例配置:{ "sdk": { "version": "6.0.400", "rollForward": "disable" } }保存后重启VS,再尝试发布。
清理缓存并重建项目
- 手动删除项目下的
bin、obj文件夹,以及发布目标目录的所有内容 - 在VS中执行「清理解决方案」→「重建解决方案」
- 改用命令行发布,获取更详细的错误日志:
命令行输出通常会显示MSB6006之前的具体错误原因,比如文件权限、依赖缺失等。dotnet publish -c Release -o 你的发布路径
- 手动删除项目下的
检查VS发布配置
打开发布配置文件(.pubxml),确认没有强制指定SDK版本的额外配置,比如<TargetFramework>是否为net6.0,如果有自定义的SDK版本设置,调整为和global.json一致的版本。修复.NET SDK
打开控制面板→程序和功能,找到对应的.NET SDK(6.0.401或旧版本),点击「修改」→「修复」,排查是否因SDK安装损坏导致的问题。对齐NuGet包版本
检查项目中Blazor相关NuGet包(如Microsoft.AspNetCore.Components.WebAssembly)的版本,确保和指定的SDK版本一致,版本不匹配可能引发编译或发布异常。查看详细诊断日志
在VS的「输出」窗口中,将日志级别切换为「诊断」,重新执行发布操作,查找MSB6006错误条目之前的具体报错信息,这是定位问题根源的关键——退出码1只是最终结果,真正的故障原因通常在前面的日志里。
内容的提问来源于stack exchange,提问作者burnandbreathe
相关产品推荐
相关产品推荐

