我试图为我的项目构建一个部署容器,该容器依赖于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软件包?
答案 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