I'm working on a software project in C# whose source code is mostly is compiled to one assembly. Let's call it
Monolith.dll. I have since decided that I should probably split
Monolith.dll into smaller assemblies. For reasons that are beyond the scope of this question,
Monolith.dll's intra-assembly dependencies are somewhat complicated.
Specifically, my needs are:
- I'm not interested in
Monolith.dll's dependencies on other assemblies, projects, or solutions.
- I want to know which classes in
Monolith.dlluse which other classes in
- This is my project, so I have complete control of the source code for
- I use Linux, so any recommendations must run on it. It's okay if there's no GUI.
- The project is written entirely in C#; there is no unmanaged code.
What tools are available that will let me do this, and how can I use them?