1

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
  • 1
    @gnat Thanks for the edit. Just googled dependency-management .net and a whole new world appears in front of me. – Horaciux May 20 '16 at 15:23
3

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:

<ItemGroup>
<COMReference Include="IWshRuntimeLibrary">
  <Guid>{F935DC20-1CF0-11D0-ADB9-00C04FD58A0B}</Guid>
  <VersionMajor>1</VersionMajor>
  <VersionMinor>0</VersionMinor>
  <Lcid>0</Lcid>
  <WrapperTool>tlbimp</WrapperTool>
  <Isolated>False</Isolated>
  <EmbedInteropTypes>True</EmbedInteropTypes>
</COMReference>

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.

1
  • 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 May 20 '16 at 17:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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