Socket
Book a DemoInstallSign in
Socket

dependency-analyzer

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

dependency-analyzer

Solution Dependencies analyzer for .NET

0.7.1
Source
nugetNuGet
Version published
Maintainers
1
Created
Source

SolutionDependencyAnalyzer

There are two ways to use the tool: Command line or use the NuGet package in your project.

Command Line

Installation

dotnet tool install --global dependency-analyzer

Usage

dependency-analyzer <SolutionFullPath> <OutputPath>
Options
  • -g or --create-graph-image : runs dot at the end of the process to create a png image of the dot graph generated. This option has a prerequisite: dot must be installed and in the PATH. To do so, you can run this command for Chocolatey: choco install graphviz or get dot there.

Files Created

This tool will create five files in the provided OutputPath:

  • packages.md contains the list of NuGet packages used by the projects in the solution, with their version.
  • packagesByProject.md will list the NuGet packages used by each project in the solution, with their version.
  • projectsByPackage.md does the opposite: it will list the projects that use each package
  • projectDependencyGraph.dot is the dependency graph of the projects in the solution. SolutionDependencyAnalyzer also generates a png of that graph, projectDependencyGraph.png

Nuget Dependency

Installation

Add the dependency-analyzer NuGet package to your project

Usage

Create a DependencyAnalyzer and call it, with Solution containing the full solution path:

var dependencyAnalyzer = new DependencyAnalyzer(Solution);
await dependencyAnalyzer.AnalyzeAsync();

Now dependencyAnalyzer properties contain everything you need:

  • PackageResults contains the package ID as key, and its version as value
  • ProjectResults is a dictionary in which the key is a project, and the values are its project dependencies
  • PackagesByProject is a dictionary in which the key is a project, and the values are its package dependencies
  • ProjectsByPackage is a dictionary in which the key is a package, and the values are its project dependencies

You can also call the writers (MarkdownWriter and DotWriter) if you want to write the same fils as the comand line tool does.

Thanks

This project was heavily inspired by dotnet-depends, and like dotnet-depends, it uses the amazing Buildalyzer

Keywords

FAQs

Package last updated on 07 Feb 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.