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

无法将WASM发布至IIS的技术问题求助

解决.NET 6 WASM应用发布时NETSDK1147与NETSDK1004错误的方案

可能的原因及修复步骤

1. 对齐.NET SDK版本与项目框架

错误日志显示当前使用的是7.0.202版本的.NET SDK,但项目基于.NET 6,跨版本SDK会导致Workload识别异常:

  • 打开命令行切换到项目根目录,执行指定.NET 6 SDK的还原命令:
    dotnet restore --sdk-version 6.0.416
    
    (版本号替换为你已安装的.NET 6最新SDK,可通过dotnet --list-sdks查看已安装版本)

2. 强制重装.NET 6 WASM Workload

执行以下命令彻底清理并重新安装对应Workload:

dotnet workload uninstall wasm-tools-net6
dotnet workload install wasm-tools-net6 --source https://api.nuget.org/v3/index.json

安装完成后再次执行:

dotnet workload restore

3. 清理项目并指定框架发布

  • 先清理项目的bin和obj目录:
    dotnet clean
    
  • 再用指定框架的命令发布:
    dotnet publish -f net6.0 -c Debug /p:TargetFramework=net6.0
    
    (如需Release发布,将Debug替换为Release)

4. 检查项目文件(.csproj)配置

确保项目文件正确引用Blazor WASM SDK并指定目标框架,示例配置如下:

<Project Sdk="Microsoft.NET.Sdk.BlazorWebAssembly">
  <PropertyGroup>
    <TargetFramework>net6.0</TargetFramework>
    <Nullable>enable</Nullable>
    <ImplicitUsings>enable</ImplicitUsings>
  </PropertyGroup>
  <!-- 项目依赖项 -->
</Project>

若存在SDK引用错误或框架版本冲突,需及时修正。

5. 修复VS 2022的SDK关联设置

  • 打开VS 2022的工具→选项→项目和解决方案→.NET Core,将默认SDK版本设置为.NET 6.x系列。
  • 右键项目→属性→生成,确认目标框架为.NET 6.0,平台目标为Any CPU。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 11:35:11