BuildXL/Examples/MsBuildHelloWorld
Marcelo Lynch 6786c21501 Merged PR 592835: Fix MsBuildGraphBuilder conflictive assembly loading of System.Collections.Immutable
The MsBuildGraphBuilder tool was loading `System.Collections.Immutable.dll` from the tool deployment folder. In newer versions of MSBuild a different version of the library is being referenced: loading this newer MSBuild and the old DLL caused a runtime error, (e.g. our example MsBuild project failed to build with the latest MsBuild with a `MissingMethodException`).

Related work items: #1807610
2021-01-13 19:45:24 +00:00
..
Example.vcxproj Add MsBuildResolver and CMakeResolver examples (#340) 2019-05-21 10:20:55 -07:00
README.md Merged PR 592835: Fix MsBuildGraphBuilder conflictive assembly loading of System.Collections.Immutable 2021-01-13 19:45:24 +00:00
build.bat Add MsBuildResolver and CMakeResolver examples (#340) 2019-05-21 10:20:55 -07:00
build.ps1 Add MsBuildResolver and CMakeResolver examples (#340) 2019-05-21 10:20:55 -07:00
config.bc Merged PR 592835: Fix MsBuildGraphBuilder conflictive assembly loading of System.Collections.Immutable 2021-01-13 19:45:24 +00:00
main.cc Add MsBuildResolver and CMakeResolver examples (#340) 2019-05-21 10:20:55 -07:00

README.md

Instructions

  1. Setup BuildXL as explained in the documentation
  2. Point the environment variable BUILDXL_BIN to the BuildXL binary folder path. For example, if you set up BuildXL in D:\BuildXL, then D:\BuildXL\Out\Bin\debug\win-x64 should be the value.
  3. Optionally specify searchs locations for the MSBuild directory in config.bc through the msBuildSearchLocations parameter. This also helps to consistently load the assemblies needed by MSBuild from those same locations. If this is not specified, the PATH environment variable will be used to find MSBuild.exe and the required assemblies.
  4. Run .\run.ps1 from PowerShell, or equivalently run.bat from the command line prompt

The build outputs will be located in the Debug folder. For further configuration options, see the MsBuildResolver interface definition