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

Windows Server 2016下构建带.NET 5.0的Docker镜像时VS2019生成工具安装失败

Windows Server 2016 环境Docker构建.NET 5.0镜像VS2019生成工具安装失败解决方案

核心问题根因

  • Docker镜像构建过程中无法执行系统重启操作,dotnetfx安装后返回3010退出码标记系统待重启,导致后续VS2019生成工具的安装前置检查不通过直接报错
  • Windows Server 2016宿主仅兼容内核版本为1607的Windows容器镜像,无法直接使用更高版本的预配置.NET 5镜像

具体解决方法

调整Dockerfile中Chocolatey包的安装参数,跳过待重启状态检查、标记3010为合法退出码,无需实际重启系统即可继续后续安装操作:

  1. 安装.NET 5 SDK时添加--exitCodes=0,3010参数,将重启要求类退出码标记为安装成功状态
  2. 安装VS2019生成工具时添加--ignore-pending-reboots参数,跳过系统待重启状态前置检查,同时可按需指定工作负载减少不必要组件安装
  3. 合并相关安装步骤减少镜像层体积,可选添加VS生成工具的工作负载参数适配实际项目编译需求

修改后的完整Dockerfile

# escape=`
FROM mcr.microsoft.com/windows/servercore:1607
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]

# 安装Chocolatey
RUN Write-Host "*********** Chocolatey Install"; `
    Set-ExecutionPolicy Bypass -Scope Process -Force; `
    [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; `
    iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

# 安装Nuget
RUN Write-Host "*********** NuGet Install"; `
    choco install nuget.commandline --version=5.11.0 --yes

# 安装.NET 5.0 SDK,接受3010重启退出码为正常状态
RUN Write-Host "*********** Install .Net 5.0"; `
    choco install dotnet-5.0-sdk --version=5.0.402 --yes --exitCodes=0,3010

# 安装VS2019生成工具,忽略待重启检查,可按需添加工作负载参数
RUN Write-Host "*********** Download and Install Build Tools 2019"; `
    choco install visualstudio2019buildtools --version=16.11.5.0 --yes `
    --ignore-pending-reboots `
    --package-parameters "--add Microsoft.VisualStudio.Workload.NetWeb --add Microsoft.VisualStudio.Workload.ManagedDesktop --includeOptional --passive --norestart"

额外注意事项

  • 若项目编译需要其他VS组件,可在VS生成工具的--package-parameters中追加对应工作负载ID即可
  • 不要更换1607版本的base镜像,否则会出现宿主与容器内核版本不兼容的daemon报错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 02:57:00