如果必须通过命令行安装MSBuild,如何获取“ CL.exe”?

时间:2019-06-02 22:57:11

标签: visual-studio docker msbuild

我试图为我的项目构建一个部署容器,该容器依赖于CL.exe,它是MSVC软件包的一部分。因此,我必须通过命令行安装编译器。现在,我正在像这样安装MSBuild 16:

RUN ./vs_buildtools.exe --quiet --norestart --nocache --wait \
    --add Microsoft.VisualStudio.Workload.MSBuildTools \
    --add Microsoft.VisualStudio.Workload.VCTools

但是CL.exe在任何地方都找不到。如何修复此命令,以便MSBuild安装MSVC软件包?

1 个答案:

答案 0 :(得分:1)

添加Microsoft.VisualStudio.Component.VC.Tools.x86.x64将安装MSVC,包括CL.exe

RUN ./vs_buildtools.exe --quiet --norestart --nocache --wait \
    --add Microsoft.VisualStudio.Workload.MSBuildTools \
    --add Microsoft.VisualStudio.Workload.VCTools \
    --add Microsoft.VisualStudio.Component.VC.Tools.x86.x64

如果您查看"Visual Studio Build Tools component directory",则MSVC被列为“推荐”依赖项类型。对于给定的工作负载,仅添加了“必需”组件,因此您必须使用标志--includeRecommended or --includeOptional,或附加未标记为必需的特定组件。

要检查是否有效:

RUN Get-ChildItem -Path 'C:\Program Files (x86)\Microsoft Visual Studio' -Filter CL.exe -Recurse -ErrorAction SilentlyContinue -Force
    Directory: C:\Program Files (x86)\Microsoft Visual 
    Studio\2019\BuildTools\VC\Tools\MSVC\14.21.27702\bin\Hostx64\x64


Mode                LastWriteTime         Length Name                          
----                -------------         ------ ----                          
-a----         6/2/2019  10:50 AM         430216 cl.exe                        


    Directory: C:\Program Files (x86)\Microsoft Visual 
    Studio\2019\BuildTools\VC\Tools\MSVC\14.21.27702\bin\Hostx64\x86


Mode                LastWriteTime         Length Name                          
----                -------------         ------ ----                          
-a----         6/2/2019  10:50 AM         431760 cl.exe                        


    Directory: C:\Program Files (x86)\Microsoft Visual 
    Studio\2019\BuildTools\VC\Tools\MSVC\14.21.27702\bin\Hostx86\x64


Mode                LastWriteTime         Length Name                          
----                -------------         ------ ----                          
-a----         6/2/2019  10:50 AM         361096 cl.exe                        


    Directory: C:\Program Files (x86)\Microsoft Visual 
    Studio\2019\BuildTools\VC\Tools\MSVC\14.21.27702\bin\Hostx86\x86


Mode                LastWriteTime         Length Name                          
----                -------------         ------ ----                          
-a----         6/2/2019  10:50 AM         363152 cl.exe