CsvDotNetPackageList is a .NET utility designed to generate a CSV file containing a list of all NuGet packages referenced in a .NET solution including transitive dependencies. This tool is particularly useful who need to audit or document the dependencies used across their projects.
- Scans a .NET solution to identify all referenced NuGet packages.
- Generates a CSV file listing each package's ID and version.
- Supports analyzing multiple source files or solutions.
- Includes progress reporting for visibility during execution.
- Configurable execution via
appsettings.json
. - Simple and straightforward command-line interface.
- Framework (optional): If not specified, the analysis will search for packages across all target frameworks.
- WorkingDirectory (required for solution): The base directory used for resolving relative paths.
- Sources (required): A list of project or solution files to analyze. For projects, you can specify the full path without specifying the WorkingDirectory option.
To customize the behavior of the tool, you can modify the appsettings.json
file as follows:
{
"DotNetListSettings": {
"Framework": "net8.0",
"WorkingDirectory": "C:\\Projects\\MySolution",
"Sources": [
"MySolution.sln"
]
}
}
{
"DotNetListSettings": {
"Framework": "net8.0",
"Sources": [
"C:\\Projects\\MySolution\\Project1.csproj",
"C:\\Projects\\MySolution\\Project2.csproj"
]
}
}
Follow these steps to use the application:
- Download latest Release.
- Configure the application by modifying
appsettings.json
according to your needs. - Run the tool using the generated
csv-package-list
executable and analyze the dependencies. - The tool will generate a
packages.csv
file in the specified working directory with the following structure:
Newtonsoft.Json;13.0.1
Serilog;2.10.0