https://github.com/ignatandrei/packageanalyzer
Analyzer for .NET solution / projects
https://github.com/ignatandrei/packageanalyzer
analyzer csharp
Last synced: 9 months ago
JSON representation
Analyzer for .NET solution / projects
- Host: GitHub
- URL: https://github.com/ignatandrei/packageanalyzer
- Owner: ignatandrei
- License: mit
- Created: 2023-08-28T17:15:22.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-05-22T06:34:01.000Z (about 2 years ago)
- Last Synced: 2024-05-22T20:31:17.576Z (about 2 years ago)
- Topics: analyzer, csharp
- Language: C#
- Homepage: https://ignatandrei.github.io/PackageAnalyzer/
- Size: 7.95 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://www.nuget.org/packages/netpackageanalyzerconsole)
# PackageAnalyzer
Analyzer for .NET solution / projects . It shows relations in projects / packages / commits .
Please read the Wiki at https://github.com/ignatandrei/packageAnalyzer/wiki/
## Install as local tool
Go to where your sln is and enter this:
```
dotnet new tool-manifest
dotnet tool update netpackageanalyzerconsole
```
If you want a fast summary of the solution, just run
```
dotnet PackageAnalyzer generateFiles -wg HtmlSummary
```
And will generate a html file with all the information. As an example , see https://ignatandrei.github.io/PackageAnalyzer/NetPackageAnalyzer_summary.html
If you want a site of all solution, run
```
dotnet PackageAnalyzer generateFiles -wg Docusaurus
```
and see results at Analysis folder as a Docusaurus site . You should run
```
npm i
npm run start
```
to see what is generated ( see https://ignatandrei.github.io/PackageAnalyzer/docs/category/solutions )
It will show ( see below for more details ):

10. Solution Analyzer - https://ignatandrei.github.io/PackageAnalyzer/docs/Analysis/NetPackageAnalyzer/ProjectRelation
15. Project references with another projects - https://ignatandrei.github.io/PackageAnalyzer/docs/Analysis/NetPackageAnalyzer/summaryProjectReferences
20. Project Building Blocks - https://ignatandrei0.github.io/PackageAnalyzer/docs/Analysis/NetPackageAnalyzer/BuildingBlocks
30. Root Projects - https://ignatandrei.github.io/PackageAnalyzer/docs/Analysis/NetPackageAnalyzer/RootProjects
40. Test Projects - https://ignatandrei.github.io/PackageAnalyzer/docs/Analysis/NetPackageAnalyzer/TestProjects
50. Packages Versions - https://ignatandrei.github.io/PackageAnalyzer/docs/Analysis/NetPackageAnalyzer/DisplayAllVersions
60. Packages that differ in major versions - https://ignatandrei.github.io/PackageAnalyzer/docs/Analysis/NetPackageAnalyzer/MermaidVisualizerMajorDiffer
70. Each project with their packages - https://ignatandrei.github.io/PackageAnalyzer/docs/category/projects
80. Each project and relations with another - upstream and downstream - https://ignatandrei.github.io/PackageAnalyzer/docs/Analysis/NetPackageAnalyzer/Projects/NetPackageAnalyzerDocusaurus/ProjectReferences
85. Classes relations in a project: https://ignatandrei.github.io/PackageAnalyzer/docs/Analysis/NetPackageAnalyzer/Projects/NetPackageAnalyzerDocusaurus/NetPackageAnalyzerDocusaurus_rel_csproj
90. Each project with their packages - https://ignatandrei.github.io/PackageAnalyzer/docs/Analysis/NetPackageAnalyzer/Projects/NetPackageAnalyzerDocusaurus/Packages
110. Commits (full time and per year ) and median - https://ignatandrei.github.io/PackageAnalyzer/docs/Analysis/NetPackageAnalyzer/Commits
120. Commits per project and median - https://ignatandrei.github.io/PackageAnalyzer/docs/Analysis/NetPackageAnalyzer/Projects/NetPackageAnalyzerConsole/Commits
130. Commits per file and median - https://ignatandrei.github.io/PackageAnalyzer/docs/Analysis/NetPackageAnalyzer/Projects/NetPackageAnalyzerConsole/Commits
140. Commits with most files - https://ignatandrei.github.io/PackageAnalyzer/docs/Analysis/NetPackageAnalyzer/Projects/NetPackageAnalyzerConsole/Commits
150. Classes / Projects with most public methods - https://ignatandrei.github.io/PackageAnalyzer/docs/Analysis/NetPackageAnalyzer/summaryPublicClasses
160. Number of lines per class / project / method - https://ignatandrei.github.io/PackageAnalyzer/docs/Analysis/NetPackageAnalyzer/summaryPublicClasses
170. Radar summary - https://ignatandrei.github.io/PackageAnalyzer/NetPackageAnalyzer_summary.html#radar
180. Commits per year and folder https://ignatandrei.github.io/PackageAnalyzer/NetPackageAnalyzer_summary.html#Commitsperyearandfolder
And a summary https://ignatandrei.github.io/PackageAnalyzer/NetPackageAnalyzer_summary.html
Please read the Wiki at https://github.com/ignatandrei/packageAnalyzer/wiki/
## How it looks
Those are the files generated for summary:
https://ignatandrei.github.io/PackageAnalyzer/NetPackageAnalyzer_summary.html
Or for site:
https://ignatandrei.github.io/PackageAnalyzer/
# Contributors needed!
If you want more to generate, add a Razor / .cshtml file to templates folder and generate in GenerateNow
# Errors
If you have errors, please run with
```
dotnet PackageAnalyzer generateFiles --verbose true
```
and open an issue with the verbose file mentioned in the output at
```
Please see verbose file at
```
Metrics from https://learn.microsoft.com/en-us/visualstudio/code-quality/code-metrics-values?view=vs-2022