I just come to a small company.

There are more than 500 solutions in different VS.Net versions and even VB 6.0 projects. They share several dll.

Is there a way to map relation between each program? How can I know in advance what solutions references to a DLL and will have an impact if I change this dll solution.

  • 1
    @gnat Thanks for the edit. Just googled dependency-management .net and a whole new world appears in front of me.
    – Horaciux
    Commented May 20, 2016 at 15:23

1 Answer 1


In your situation, I would probably write a few small utility programs that can iterate though your stored source code and list which programs reference which dlls.

For example, in VB6, the .vbp file lists which dlls are used:

Reference=*\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\WINDOWS\system32\stdole2.tlb#OLE Automation
Reference=*\G{420B2830-E718-11CF-893D-00A0C9054228}#1.0#0#C:\WINDOWS\system32\scrrun.dll#Microsoft Scripting Runtime
Reference=*\G{50A7E9B0-70EF-11D1-B75A-00A0C90564FE}#1.0#0#C:\WINDOWS\system32\SHELL32.dll#Microsoft Shell Controls And Automation

In VB.NET, similar information is stored within the .vbproj file:

<COMReference Include="IWshRuntimeLibrary">

Where I work it is also common to reference custom dlls from Excel VBA. To find these, you would open the Excel (or other MS Office) files and read the VBA Add-in Model "References" collection and the "Office.COMAddins" collection.

  • Great, I was walking this way with .net projects. I hope to find an automated tool. Or just code something as you suggested. Thanks
    – Horaciux
    Commented May 20, 2016 at 17:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.