DependenSee 1.0.0

There is a newer version of this package available.
See the version list below for details.
dotnet tool install --global DependenSee --version 1.0.0
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest # if you are setting up this repo
dotnet tool install --local DependenSee --version 1.0.0
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=DependenSee&version=1.0.0
nuke :add-package DependenSee --version 1.0.0

DependenSee

Dotnet project and package dependency visualizer.

Install

Requires .NET 5 or higher

dotnet tool install DependenSee --global

available via Nuget

Uninstall

dotnet tool uninstall DependenSee --global

How to Run

DependenSee root/of/projects path/to/output.html

Sample Output (HTML)

path/to/

Why DependenSee over 'X'

Current popular options are to either use NDepend, VS Architecture Explorer or Code Map. While these options are feature rich, they also has a licensing cost. If all you want is to see the dependency graph, and nothing else, it may be hard to justify the licensing cost. Then DependenSee is for you.

If you need to see the Type structure, relationships between your methods or types .etc. then you should use one of the options above instead. DependenSee is mean to be very simple, easy, straight forward to use and FREE! DependenSee does not intend to compete with the above. See Limitations

Docs

Features

  • Creates the dependency graph for your solution.
  • Can only include or exclude certain namespaces so the result is not overwhelming or filled with noise.
  • Can create HTML, XML, JSON outputs
  • Can return XML or JSON to STDOUT for further processing by other command line tools

For full docs run without any arguments DependenSee

Usage - DependenSee <SourceFolder> [<OutputPath>] -options

GlobalOption                       Description
Help (-H)                          Shows help descriptions.
SourceFolder* (-S)                 Root folder (usually solution folder) to look for csproj files recursively.
OutputPath (-O)                    Path to write the result. Not required if writing the output to stdout
IncludePackages (-P)               Whether to include external (Nuget) packages in the result. [Default='False']
OutputType (-T)                    Type of the output. [Default='Html']
                                   Html - Creates an html document.
                                   Json - Creates a JSON file.
                                   Xml - Creates a XML file.
                                   ConsoleJson - Writes JSON output to stdout
                                   ConsoleXml - Writes XML output to stdout
IncludeProjectNamespaces (-IPrN)   Comma separated list of project file prefixes to include. Wildcards not allowed.
                                   Only the filename is considered, case insensitive. Ex:'MyApp.Core,
                                   MyApp.Extensions' Includes only projects starting with MyApp.Core and projects
                                   starting with MyApp.Extensions [Default='']
ExcludeProjectNamespaces (-EPrN)   Comma separated list of project file prefixes to exclude. Wildcards not allowed.
                                   Only the filename is considered, case insensitive. This must be a subset of
                                   includes to be useful. Ex: 'MyApp.Extensions, MyApp.Helpers' Excludes projects
                                   starting with MyApp.Extensions and projects starting with MyApp.Helpers
IncludePackageNamespaces (-IPaN)   Comma separated list of package name prefixes to include. Wildcards not allowed.
                                   Only the package name is considered, case insensitive. If specified,
                                   'IncludePackages' is overridden to True. Ex: 'Xamarin, Microsoft' includes only
                                   packages starting with Xamarin and packages starting with Microsoft [Default='']
ExcludePackageNamespaces (-EPaN)   Comma separated list of package name prefixes to exclude. Wildcards not allowed.
                                   Only the filename is considered, case insensitive. If specified,
                                   'IncludePackages' is overridden to True. This must be a subset of includes to be
                                   useful. Ex: 'Microsoft.Logging, Azure' Excludes packages starting with
                                   Microsoft.Logging and packages starting with Azure

Privacy and Security Note

In the output, the full path to project files is used as the unique identifier. So your file structure is exposed in the generated output. It attempts to only use the subdirectory structure, so an attempt is made to hide the full path.

Keep this in mind and inspect the output if you're distributing the outputs from this tool.

Limitations

  • Currently only traverses csproj files. No other file types are supported.
  • No compile results are inspected. Only the project structure is used.

License

MIT License

Powered by (Thanks)

Product Compatible and additional computed target framework versions.
.NET net5.0 is compatible.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last updated
2.2.0 101,592 6/18/2022
2.1.0 2,006 3/29/2022
2.0.0 3,934 11/21/2021
1.3.0 3,391 8/7/2021
1.2.2 1,435 7/3/2021
1.2.1 1,431 6/8/2021
1.2.0 1,400 5/23/2021
1.1.2 1,285 4/29/2021
1.1.1 1,615 2/26/2021
1.1.0 1,444 1/26/2021
1.0.1 1,567 12/2/2020
1.0.0 1,376 12/2/2020