I’ve updated the documentation for building a Docker container image for Visual Studio Build tools based on recent feedback that managed code may fail to run. In the case of MSBuild, you might see an error like,
C:\BuildTools\MSBuild\15.0\bin\Roslyn\Microsoft.CSharp.Core.targets(84,5): error MSB6003: The specified task executable “csc.exe” could not be run. Could not load file or assembly ‘System.IO.FileSystem, Version=184.108.40.206, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a’ or one of its dependencies. The system cannot find the file specified.
To resolve this, base your image on microsoft/dotnet-framework:4.7.1 so that it does not need to be installed. The image documentation has more details about how its various tags related to microsoft/windowsservercore if you intend to target a specific version of Windows Server Core.
The examples have also been updated to better collect and copy setup logs from a container should an error occur using a separate script file to handle install failures.