CsProjTools

This console application scans a tree in search of csproj, extracts some information and generates an excel file. This excel file (xlsx format) contains 2 sheets:

  • OutputPaths: OutputPath per project and configuration. It contains several columns containing the project information (name, full path) and one column per configuration found.
  • References: References by project (ProjectReferences are not included). It contains several columns containing the project information (name, full path) as well as the reference (SpecificVersion, Private, HintPath, AbsolutePath)

The required parameters are:

  • The path to the tree containing the csproj files to inspect
  • The excel output file path

Source available here.

Technical appendices

Common MSBuild Project Items
https://msdn.microsoft.com/en-us/library/bb629388.aspx

Setting up build configuration in .NET
http://aakinshin.net/blog/post/msbuild-configurations/

HintPath vs ReferencePath in Visual Studio
https://stackoverflow.com/questions/1882038/hintpath-vs-referencepath-in-visual-studio

Resolving file references in team build ( Part -2 )
https://blogs.msdn.microsoft.com/manishagarwal/2005/09/28/resolving-file-references-in-team-build-part-2/

Understanding a csproj assembly reference
https://stackoverflow.com/questions/16578819/understanding-a-csproj-assembly-reference

Can I change all solution's projects output paths simultaneously in VS12/10?
https://stackoverflow.com/questions/15476774/can-i-change-all-solutions-projects-output-paths-simultaneously-in-vs12-10

Reading the list of References from csproj files
https://stackoverflow.com/questions/1191151/reading-the-list-of-references-from-csproj-files