在ltsc2019容器中安装Visual Build Tools的问题求助
在Windows Server Core LTSC2019容器中安装Visual Studio 2019 Build Tools指定组件的官方方案
先解决WinInet错误12007
WinInet 12007错误本质是DNS解析失败或HTTPS连接异常,针对servercore:ltsc2019容器,按以下步骤修复:
- 启动容器时强制指定公共DNS服务器,规避宿主DNS配置问题:
docker run -it --dns 8.8.8.8 --dns 1.1.1.1 mcr.microsoft.com/windows/servercore:ltsc2019 - 更新容器内根证书,解决HTTPS证书验证失败问题:
certutil -generateSSTFromWU roots.sst certutil -addstore -f root roots.sst
官方推荐的指定组件安装方法
方案1:在线静默安装(修复网络后使用)
使用官方引导程序执行静默安装,仅部署所需组件:
- 在容器内下载VS2019 Build Tools官方引导程序(从微软Visual Studio官网获取对应版本的引导程序链接):
Invoke-WebRequest -Uri "<官方引导程序URL>" -OutFile vs_buildtools.exe - 执行静默安装命令,明确指定目标组件:
参数说明:.\vs_buildtools.exe --quiet --wait --norestart --installPath "C:\BuildTools" ` --add Microsoft.VisualStudio.Workload.VCTools;includeRecommended ` --add Microsoft.VisualStudio.Component.VC.Tools.x86.x64--quiet:静默安装无交互--wait:等待安装完成再返回--norestart:避免安装自动重启容器--installPath:指定安装路径
方案2:离线安装包部署(容器环境更稳定)
若网络问题无法解决,先在宿主机器准备离线包,再复制到容器安装:
- 在宿主Windows 10机器上下载离线包(需先下载VS2019 Build Tools引导程序):
.\vs_buildtools.exe --layout C:\VS2019BuildToolsOffline ` --add Microsoft.VisualStudio.Workload.VCTools;includeRecommended ` --add Microsoft.VisualStudio.Component.VC.Tools.x86.x64 ` --lang en-US - 将离线包复制到运行中的容器:
docker cp C:\VS2019BuildToolsOffline <容器ID>:\VS2019BuildToolsOffline - 进入容器执行离线安装:
.\VS2019BuildToolsOffline\vs_buildtools.exe --quiet --wait --norestart --installPath "C:\BuildTools" --noWeb
验证安装结果
安装完成后,检查VC工具链核心文件是否存在:
Test-Path "C:\BuildTools\MSBuild\Current\Bin\Hostx64\x64\msbuild.exe"
返回True则表示安装成功。
内容的提问来源于stack exchange,提问作者malat
相关产品推荐
相关产品推荐

