.NET Maui项目报NETSDK1147错误:已装wasm-tools仍无法构建
排查.NET Maui中NETSDK1147错误的可能原因
1. 工作负载版本不匹配或安装不完整
- 执行
dotnet workload list查看已安装的wasm-tools版本,确认和项目使用的.NET SDK版本完全一致。若项目基于.NET 7,却仅安装了.NET 8的wasm-tools,会触发版本不兼容错误。 - 尝试指定SDK版本重新安装:
dotnet workload install wasm-tools --sdk-version <你的项目SDK版本>
2. Visual Studio关联组件未正确安装
- 打开Visual Studio安装器,检查“.NET WebAssembly构建工具”组件是否已勾选。即使通过CLI安装了workload,VS可能未关联对应组件,导致识别失败。
- 选择Visual Studio安装器中的“修改”选项,点击“修复”,确保所有相关组件完整部署。
3. SDK路径或环境变量冲突
- 检查系统环境变量
DOTNET_ROOT是否指向当前项目使用的.NET SDK安装路径,避免多版本SDK路径干扰。 - 执行
dotnet --info确认当前激活的SDK版本和项目要求一致,若不一致,可通过项目根目录的global.json文件指定固定SDK版本。
4. 项目配置异常
- 检查项目文件(.csproj)中的
<TargetFramework>节点,若为Maui Blazor项目,需确认目标框架格式正确(如net7.0-maui-blazor),避免误写为纯WebAssembly框架。 - 查看项目中的
<WorkloadManifestDependencies>节点,确认未指定错误的workload依赖项。
5. 缓存残留问题
- 清理.NET全局缓存:执行
dotnet nuget locals all --clear,之后重新执行dotnet restore。 - 删除用户目录下
.dotnet/workloads文件夹,再执行dotnet workload restore重新拉取完整的workload文件。
内容的提问来源于stack exchange,提问作者Thierry
相关产品推荐
相关产品推荐

