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

在GitHub Actions构建.NET 8.0时出现本地未复现的NETSDK1045错误

解决GitHub Actions构建.NET 8.0项目时的NETSDK1045错误

问题场景

本地将项目从.NET 6.0升级至.NET 8.0后,执行dotnet restore无异常,但提交PR后GitHub Actions构建时触发以下错误:

/home/runner/.dotnet/sdk/7.0.408/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.TargetFrameworkInference.targets(160,5):
error NETSDK1045: The current .NET SDK does not support targeting .NET 8.0.
Either target .NET 7.0 or lower, or use a version of the .NET SDK that supports .NET 8.0. Download the .NET SDK from https://aka.ms/dotnet/download [/home/.../Client.csproj]

本地环境dotnet --version显示为8.0.24,.NET 8.0 SDK已正确安装。

问题原因

GitHub Actions默认runner环境未预装.NET 8.0 SDK,当前使用的是.NET 7.0 SDK版本,无法识别.NET 8.0的目标框架配置。

解决方案

  1. 更新GitHub Actions工作流,指定安装.NET 8.0 SDK
    在项目的.github/workflows目录下的工作流YAML文件中,添加actions/setup-dotnet步骤,明确指定.NET 8.0 SDK版本:

    steps:
      - name: 安装.NET 8.0 SDK
        uses: actions/setup-dotnet@v4
        with:
          dotnet-version: '8.0.x' # 自动安装最新稳定版.NET 8.0 SDK
      - name: 还原依赖
        run: dotnet restore
      - name: 构建项目
        run: dotnet build --no-restore
    

    若项目需兼容多版本.NET,可同时指定多个版本:

    with:
      dotnet-version: |
        6.0.x
        8.0.x
    
  2. 确认项目文件的目标框架配置
    检查.csproj文件,确保TargetFramework节点已正确设置为net8.0:

    <PropertyGroup>
      <TargetFramework>net8.0</TargetFramework>
    </PropertyGroup>
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 16:12:12