$msbuild = "C:\BuildTools\MSBuild\Current\Bin\MSBuild.exe" & $msbuild -version
# For x64 native & "C:\BuildTools\VC\Auxiliary\Build\vcvars64.bat" cl.exe /EHsc /Fe:hello.exe hello.cpp FROM mcr.microsoft.com/windows/servercore:ltsc2022 AS build ADD https://aka.ms/vs/17/release/vs_buildtools.exe vs_buildtools.exe RUN vs_buildtools.exe --quiet --wait --norestart --installPath C:\BuildTools ` --add Microsoft.VisualStudio.Workload.VCTools ` --add Microsoft.VisualStudio.Component.Windows10SDK.20348 WORKDIR C:\src COPY . . RUN C:\BuildTools\MSBuild\Current\Bin\MSBuild.exe MyApp.sln Pitfalls to Avoid (Saves Hours) | Pitfall | Solution | |---------|----------| | Missing SDK | Build fails with "windows.h not found" . Explicitly add the Windows SDK component. | | Path too long | Install to C:\BuildTools (not Program Files ). Long paths break older projects. | | No vswhere.exe | Unlike full VS, Build Tools alone may lack vswhere . Install Microsoft.VisualStudio.Component.VC.CMake.Project if you need instance detection. | | Running in PowerShell without --wait | Installer returns immediately → build runs against incomplete tools. Always use Start-Process -Wait or the --wait flag. | Verifying Your Installation Run this quick check after install: microsoft build tools 2022
C:\BuildTools\MSBuild\Current\Bin\MSBuild.exe Build your solution: $msbuild = "C:\BuildTools\MSBuild\Current\Bin\MSBuild