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