This plugin can show dependencies of all references in CLI assemblies & libraries. This plugin can help you determine how libraries are referenced between files. Also it can show you unreferenced members of shared libraries. For example if we have libraries with common code shared between many projects.
It can sow not only .NET references, but also Import & export modules of native PE files.
As a basis for drawing charts I took Microsoft Automatic Graph Layout component.
As a basis for reading contents of PE/CLI files I used PEReader component.
Also I've added feature to show referenced members in shared libraries. This feature is useful if many projects contains reference to shared libraries but what exactly public members are used inside dependent libraries is unknown. You can specify additional libraries to analyze (Open button inside UI) and feature to display all public members & highlight only used members.
RecursiveLevel
5 — How deep to analyze assembly referencesSearchType
AssemblyRef — What types of search to perform (Bit field)
AssemblyRef
— Search assembly referencesGAC
— Search assembly references in Global Assembly Cache & shared foldersModuleRef
— Search unmanaged modules loaded by DllImportAttributeNativeSystem
— Search unmanaged modules in shared & system foldersUnreferencedInFolder
— Search for unreferenced libraries & assemblies in current folderLibraryColor
LightYellow — Color to draw found referencesLibraryNotFoundColor
Red — Color to draw missed referencesLibrarySystemColor
Green — Color to draw reference to GAC or system library (GAC; SearchPath)Other settings affect graph UI
This example shows web application assembly dependencies to one of my projects, including NuGet packages.
Displaying the dependencies of a large project with a large number of dependencies and with lost assemblies. This assemblies was disabled as a feature, but if this feature will be turned on, then there will be runtime exception.
Dependencies for Microsoft Visual Studio devenv.exe executable. This is example when main executable is referenced to shared library GDIPlus.dll
and backward references from GDIPlus.dll
to api-ms-win-core-localization-l1-2-0.dll
& api-ms-win-core-synch-l1-2-0.dll