I recently turned on normal logging verbosity for msbuild to debug some build issues. I use the -m -graph arguments and am building a solution that contains 3 projects. One project is a MyProjectlibrary, one is a MyProjectTests test project that calls the library, and the third project is a MyProjectConsole app that calls the library.
I expect msbuild to build a dependency graph (because of -m -graph) that builds the library first, followed by the test project and console app projects.
Here is an example output of the build. I don't know what the 2>, 3>, 1> symbols mean.
Q. Do they indicate threads in the parallel build, or maybe node numbers in the 3-node graph, or do they indicate a build order ranking?
Q. Do the indentation of lines below 2> indicate those are log messages belong to the 2> thread, and do the interleaved 2> 2> 3> 3> 1> 2> blocks indicate chunks of msbuild log output from threads running in parallel and sending their output to a single log collection thread?
Thank you
In the following log output: HsLog is the console program and is built on 'node 1'. (CPU core 1? Graph node 1?) HsLoggerTests is the unit test project and is built on 'node 2'. HsLogger is the library and is built on 'node
Build started 2022-05-21 07:33:46. Static graph loaded in 0.471 seconds: 3 nodes, 2 edges
2>Project "c:\dev\highspeed\HsLogger\HsLog\HsLog.csproj" on node 1 (Restore;Publish target(s)). 2>_GetAllRestoreProjectPathItems: Determining projects to restore... 3>Project "c:\dev\highspeed\HsLogger\HsLoggerTests\HsLoggerTests.csproj" on node 2 (Restore;Publish target(s)). 3>_GetAllRestoreProjectPathItems: Determining projects to restore... 2>Restore: Committing restore... Assets file has not changed. Skipping assets file writing. Path: c:\dev\highspeed\HsLogger\HsLogger\obj\project.assets.json Restored c:\dev\highspeed\HsLogger\HsLogger\HsLogger.csproj (in 59 ms). Committing restore... Assets file has not changed. Skipping assets file writing. Path: c:\dev\highspeed\HsLogger\HsLog\obj\project.assets.json Restored c:\dev\highspeed\HsLogger\HsLog\HsLog.csproj (in 57 ms). NuGet Config files used: C:\Users\kkkwj\AppData\Roaming\NuGet\NuGet.Config C:\Program Files (x86)\NuGet\Config\Microsoft.VisualStudio.Offline.config Feeds used: https://api.nuget.org/v3/index.json C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\ All projects are up-to-date for restore. 2>Project "c:\dev\highspeed\HsLogger\HsLog\HsLog.csproj" (2) is building "c:\dev\highspeed\HsLogger\HsLogger\HsLogger.csproj" (1:11) on node 1 (default targets). 1>GenerateTargetFrameworkMonikerAttribute: Skipping target "GenerateTargetFrameworkMonikerAttribute" because all output files are up-to-date with respect to the input files. CoreGenerateAssemblyInfo: Skipping target "CoreGenerateAssemblyInfo" because all output files are up-to-date with respect to the input files. CoreCompile: Skipping target "CoreCompile" because all output files are up-to-date with respect to the input files. GenerateBuildDependencyFile: Skipping target "GenerateBuildDependencyFile" because all output files are up-to-date with respect to the input files. CopyFilesToOutputDirectory: HsLogger -> c:\dev\highspeed\HsLogger\HsLogger\bin\Debug\net5.0-windows7.0\win-x64\HsLogger.dll PostBuild: set bindir=%holding%\lib\core\AnyCPU\Debug\net5.0-windows7.0 3>Restore: Committing restore... Assets file has not changed. Skipping assets file writing. Path: c:\dev\highspeed\HsLogger\HsLogger\obj\project.assets.json Restored c:\dev\highspeed\HsLogger\HsLogger\HsLogger.csproj (in 58 ms). Committing restore... Assets file has not changed. Skipping assets file writing. Path: c:\dev\highspeed\HsLogger\HsLoggerTests\obj\project.assets.json Restored c:\dev\highspeed\HsLogger\HsLoggerTests\HsLoggerTests.csproj (in 57 ms). NuGet Config files used: C:\Users\kkkwj\AppData\Roaming\NuGet\NuGet.Config C:\Program Files (x86)\NuGet\Config\Microsoft.VisualStudio.Offline.config Feeds used: https://api.nuget.org/v3/index.json C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\ All projects are up-to-date for restore. 3>Done Building Project "c:\dev\highspeed\HsLogger\HsLoggerTests\HsLoggerTests.csproj" (Restore;Publish target(s)). 1>PostBuild: 1>Done Building Project "c:\dev\highspeed\HsLogger\HsLogger\HsLogger.csproj" (default targets). 2>GenerateTargetFrameworkMonikerAttribute: Skipping target "GenerateTargetFrameworkMonikerAttribute" because all output files are up-to-date with respect to the input files. CoreGenerateAssemblyInfo: Skipping target "CoreGenerateAssemblyInfo" because all output files are up-to-date with respect to the input files. CoreCompile: Skipping target "CoreCompile" because all output files are up-to-date with respect to the input files. _CreateAppHost: Skipping target "_CreateAppHost" because all output files are up-to-date with respect to the input files. _CopyOutOfDateSourceItemsToOutputDirectory: Skipping target "_CopyOutOfDateSourceItemsToOutputDirectory" because all output files are up-to-date with respect to the input files. GenerateBuildDependencyFile: Skipping target "GenerateBuildDependencyFile" because all output files are up-to-date with respect to the input files. GenerateBuildRuntimeConfigurationFiles: Skipping target "GenerateBuildRuntimeConfigurationFiles" because all output files are up-to-date with respect to the input files. CopyFilesToOutputDirectory: HsLog -> c:\dev\highspeed\HsLogger\HsLog\bin\Debug\net5.0-windows7.0\win-x64\HsLog.dll PostBuild: _CopyResolvedFilesToPublishPreserveNewest: Skipping target "_CopyResolvedFilesToPublishPreserveNewest" because all output files are up-to-date with respect to the input files. Publish: HsLog -> c:\dev\highspeed\HsLogger\HsLog\bin\Debug\net5.0-windows7.0\win-x64\publish\ 2>Done Building Project "c:\dev\highspeed\HsLogger\HsLog\HsLog.csproj" (Restore;Publish target(s)).