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

在AWS CodeBuild的Ubuntu 22.04中安装.NET 7后仍显示.NET 6的问题

在AWS CodeBuild中安装.NET 7 SDK后版本仍显示.NET 6的问题

我尝试在AWS CodeBuild环境中构建.NET 7项目,已通过以下命令安装.NET 7 SDK:

sudo apt-get update && 
  sudo apt-get install -y dotnet-sdk-7.0

但执行dotnet --version命令时,输出结果仍然是.NET 6版本。相关日志及版本查询截图如下:

  • 安装过程日志1:日志截图1
  • 安装过程日志2:日志截图2
  • 版本查询结果截图:版本查询截图

解决方案

1. 调整环境变量优先级

AWS CodeBuild默认镜像通常预装了.NET 6,且其路径在PATH中的优先级高于手动安装的.NET 7。先查看已安装的所有.NET SDK:

dotnet --list-sdks

确认.NET 7的安装路径(一般为/usr/share/dotnet/sdk/7.0.x/),然后将该路径加入PATH并设为高优先级:

export PATH="/usr/share/dotnet:$PATH"

也可以直接在CodeBuild的buildspec.yml中添加环境变量配置:

env:
  shell: bash
  variables:
    PATH: "/usr/share/dotnet:$PATH"

2. 使用官方预装有.NET 7的CodeBuild镜像

无需手动安装,直接选择AWS提供的包含.NET 7的标准镜像:

  • 基于Amazon Linux 2:aws/codebuild/amazonlinux2-x86_64-standard:5.0
  • 基于Ubuntu:aws/codebuild/standard:7.0
    在CodeBuild项目的"环境配置"中更换镜像即可。

3. 通过global.json强制指定SDK版本

在项目根目录创建global.json文件,明确指定使用.NET 7:

{
  "sdk": {
    "version": "7.0.0"
  }
}

后续执行dotnet命令时会自动选用该版本,不受系统默认版本影响。

4. 验证安装有效性

如果不确定.NET 7是否安装成功,可执行以下命令检查安装路径:

ls /usr/share/dotnet/sdk/

若能看到以7.0开头的目录,说明安装完成,只需调整环境变量即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 06:05:55