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

Github Action构建.NET应用遇Windows SDK版本缺失报错求助

解决GitHub Action构建.NET 4.6.1+React Native项目时的Windows SDK缺失错误

问题分析

报错明确指出找不到Windows SDK版本10.0.18362.0,核心原因:

  • windows-2019 runner默认预装的Windows SDK版本不包含10.0.18362.0
  • 你使用的setup-windows10-sdk-action未指定具体版本,默认安装的SDK与项目要求不匹配

解决方案

1. 安装指定版本的Windows SDK

修改setup-windows10-sdk-action步骤,明确指定安装10.0.18362.0版本:

- uses: GuillaumeFalourd/setup-windows10-sdk-action@v1.11
  with:
    sdk-version: '10.0.18362.0'

2. 构建时强制指定SDK版本

在msbuild命令中添加/p:WindowsSDKVersion=10.0.18362.0参数,确保项目使用正确的SDK:

- name: Build Terminal
  run: msbuild .windows\project.sln /nologo -verbosity:minimal /p:Configuration=Release /p:Platform=x64 /p:AppxBundle=Never /bl /p:PackageCertificateKeyFile="SideloadingMaster.pfx" /p:RestorePackagesConfig=true /p:WindowsSDKVersion=10.0.18362.0 /t:restore,build

3. 优化.NET 4.6.1安装步骤(可选)

windows-2019 runner已预装.NET Framework 4.6.1,可移除choco安装步骤缩短构建时间:

# 移除以下两行冗余安装命令
# choco install dotnet4.6.1
# choco install dotnet4.6.1-devpack

修改后的完整GitHub Action代码

name: Build

on: [push]

jobs:
  build:
    name: "Build Terminal"

env:
  POWERSHELL_TELEMETRY_OPTOUT: 1
  DOTNET_CLI_TELEMETRY_OPTOUT: 1
  UseEnv: true

runs-on: windows-2019

steps:
  - uses: actions/checkout@v3

  - name: Setup Node.js
    uses: actions/setup-node@v3
    with:
      node-version: '16.x'

  - name: Setup MSBuild
    uses: microsoft/setup-msbuild@v1.3
    with:
      msbuild-architecture: x64

  - uses: actions/cache@v3
    with:
      path: ~/.nuget/packages
      key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }}
      restore-keys: |
        ${{ runner.os }}-nuget

  - name: Build key file
    env:
      CERT_FILE: ${{ secrets.CERT_FILE }}
    shell: bash
    run: |
      echo "$CERT_FILE" > sideloading.base64
      certutil -decode sideloading.base64 SideloadingMaster.pfx

  - name: Install dependencies Node.js
    run: npm ci --legacy-peer-deps

  - uses: GuillaumeFalourd/setup-windows10-sdk-action@v1.11
    with:
      sdk-version: '10.0.18362.0'

  - name: Build Terminal
    run: msbuild .windows\project.sln /nologo -verbosity:minimal /p:Configuration=Release /p:Platform=x64 /p:AppxBundle=Never /bl /p:PackageCertificateKeyFile="SideloadingMaster.pfx" /p:RestorePackagesConfig=true /p:WindowsSDKVersion=10.0.18362.0 /t:restore,build

关键说明

  • 指定SDK版本是解决错误的核心,确保项目依赖的SDK被精准安装
  • 构建时显式传入WindowsSDKVersion参数,避免项目配置与环境不匹配
  • 移除冗余安装步骤可提升构建效率,若项目有特殊依赖可保留原命令

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 10:14:57