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

使用GitHub Actions发布Blazor WebAssembly时遇SDK缺失错误求解决

解决Blazor WebAssembly部署到GitHub Pages时的SDK找不到错误

错误原因

Microsoft.NET.Sdk.BlazorWebAssembly 这个SDK是从.NET 5版本开始作为独立SDK发布的,而你在GitHub Action中配置的是.NET Core 3.1,两者版本不匹配,导致系统找不到指定的SDK。

可行解决办法

办法1:升级Action中的.NET SDK版本匹配项目

如果你的Blazor WebAssembly项目使用的是.NET 5/6/7/8(推荐选用长期支持的LTS版本如6.0或8.0),修改GitHub Action配置中的.NET SDK版本:

name: Deploy to GitHub Pages

on:
  push:
    branches: [ main ]

jobs:
  deploy-to-github-pages:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4
    
    - name: Setup .NET SDK
      uses: actions/setup-dotnet@v4
      with:
        dotnet-version: 6.0.x  # 替换为你项目实际使用的.NET版本,比如8.0.x
        
    - name: Publish .NET Core Project
      run: dotnet publish Learning_Blazor.csproj -c Release -o release --nologo
      
    - name: Deploy GitHub Pages site
      uses: actions/deploy-pages@v2
      with:
         token: ${{ secrets.GITHUB_TOKEN }}

同时确认你的项目文件(Learning_Blazor.csproj)中的配置与SDK版本对应:

<Project Sdk="Microsoft.NET.Sdk.BlazorWebAssembly">
  <PropertyGroup>
    <TargetFramework>net6.0</TargetFramework> <!-- 与Action中配置的.NET版本保持一致 -->
    <!-- 其他项目配置 -->
  </PropertyGroup>
</Project>

办法2:适配.NET 3.1(不推荐,已停止官方支持)

如果你坚持使用.NET 3.1,需要修改项目文件的SDK引用——因为.NET 3.1中Blazor WebAssembly并未独立出专属SDK,而是使用通用的Microsoft.NET.Sdk.Web:
修改Learning_Blazor.csproj开头部分:

<Project Sdk="Microsoft.NET.Sdk.Web">
  <PropertyGroup>
    <TargetFramework>netstandard2.1</TargetFramework>
    <RazorLangVersion>3.0</RazorLangVersion>
    <!-- 其他项目配置 -->
  </PropertyGroup>
</Project>

Action配置可以保留.NET 3.1的设置,但注意.NET 3.1已停止官方支持,后续可能遇到更多兼容性问题。

额外检查点

  • 确认dotnet publish命令中的项目路径正确,如果项目在子目录下,需要添加相对路径(比如dotnet publish ./src/Learning_Blazor.csproj)
  • 确保GitHub Action的权限配置正确,原配置中的github.token应改为标准写法${{ secrets.GITHUB_TOKEN }}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 16:55:23