Click here to Skip to main content
12,825,359 members (40,880 online)
Click here to Skip to main content
Add your own
alternative version


30 bookmarked
Posted 11 Jan 2004

Project \ Assembly dependencies viewer

, 11 Jan 2004
Rate this:
Please Sign up or sign in to vote.
This simple application gets any VS.NET project or assembly and displays all the assembly / project dependencies. All dependencies are shown in a tree view with images that indicate the assembly location (Bin, GAC or registered as COM+ component).

Sample Image - viewer.jpg


This application is a part of the installation system that I use. My installation process uses an input XML file that is created by the application, to deploy and register the assemblies in the same locations as in the deploying machine. Using this method I reduce many errors. You can use this application to test your applications in a production environment. You can test and see if all of your application references match the files on your production server and to find out any existing problems.

The code is pretty straight forward. The only complicated part was to find out if a given assembly is registered as a COM+ component. To check it out, you need to get the COM+ component CLSID from COM+ using comadmin.dll, find in registry the CLSID InprocServer32 Key, and check if InprocServer32 Assembly string value matches the given assembly full name.

To navigate through the COM+, I use a wrapper assembly of comadmin.dll which I created using tlbimp.exe. The deploying code is a reference to the wrapper assembly of COM+ 1.5 comadmin.dll. If you are working with COM+ 1.0, you need to recreate the wrapper assembly using tlbimp.exe.


This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


About the Author

Natty Gur
Web Developer
Israel Israel
Read my blog

Natty Gur is the founder and CTO of “The enterprise architects group” an international enterprise architecture consulting group based in Vestal, NY. Natty has 13 years of experience in the IT field, 7 of them focused on running enterprise architecture in companies and governmental bodies. Natty has written many articles and is a well known speaker on EA topics. You can reach natty at:

You may also be interested in...

Comments and Discussions

GeneralRed color in the tree Pin
uljo25-Feb-07 21:24
memberuljo25-Feb-07 21:24 
GeneralRe: Red color in the tree Pin
nhenny200025-Sep-07 12:33
membernhenny200025-Sep-07 12:33 
GeneralI Got the solution Pin
avinash barnwal9-Jan-07 1:58
memberavinash barnwal9-Jan-07 1:58 
Generalpowershell script to list out dependencies. Pin
tovirtualme5-Jan-07 6:34
membertovirtualme5-Jan-07 6:34 
QuestionJob Role?? Pin
nc200026-Jun-06 6:18
membernc200026-Jun-06 6:18 
QuestionHow to enlist assemblies? Pin
zux8-Nov-04 2:44
memberzux8-Nov-04 2:44 
AnswerRe: How to enlist assemblies? Pin
Natty Gur19-Nov-04 10:24
memberNatty Gur19-Nov-04 10:24 
GeneralOther dependecy walker Pin
tolemac19-May-04 8:59
membertolemac19-May-04 8:59 
QuestionDoes it make probing? Pin
Ivan Fernandez21-Jan-04 6:39
memberIvan Fernandez21-Jan-04 6:39 
AnswerRe: Does it make probing? Pin
Natty Gur21-Jan-04 6:46
memberNatty Gur21-Jan-04 6:46 
GeneralA graphical approach Pin
drewnoakes13-Jan-04 10:12
memberdrewnoakes13-Jan-04 10:12 
GeneralRe: A graphical approach Pin
Natty Gur13-Jan-04 18:25
memberNatty Gur13-Jan-04 18:25 
GeneralRe: A graphical approach Pin
mephianna12-Feb-08 0:41
membermephianna12-Feb-08 0:41 
GeneralRe: A graphical approach Pin
oliwan24-Jun-08 7:57
memberoliwan24-Jun-08 7:57 
NewsRe: A graphical approach Pin
Drew Noakes4-May-11 18:24
memberDrew Noakes4-May-11 18:24 
GeneralInterface Interop.COMAdmin.ICOMAdminCatalog2 failed Pin
Claus Brod13-Jan-04 2:35
memberClaus Brod13-Jan-04 2:35 

just downloaded the demo project and built it using VS.NET 2003. When I run the dependency viewer on a .NET assembly, I get the following runtime error:

An unhandled exception of type 'System.InvalidCastException' occurred in DevNetInstaller.exe

Additional information: QueryInterface for interface Interop.COMAdmin.ICOMAdminCatalog2 failed.

This happens in function IsDllInCom (ReadProject.cs). Can this be caused by inconsistencies due to different versions of comadmin.dll as you have described it in your article?


Claus (
GeneralRe: Interface Interop.COMAdmin.ICOMAdminCatalog2 failed Pin
Natty Gur13-Jan-04 3:09
memberNatty Gur13-Jan-04 3:09 
GeneralRe: Interface Interop.COMAdmin.ICOMAdminCatalog2 failed Pin
Claus Brod13-Jan-04 3:16
memberClaus Brod13-Jan-04 3:16 
GeneralRe: Interface Interop.COMAdmin.ICOMAdminCatalog2 failed Pin
nedcod13-Jan-04 23:41
membernedcod13-Jan-04 23:41 
GeneralRe: Interface Interop.COMAdmin.ICOMAdminCatalog2 failed Pin
Claus Brod14-Jan-04 0:30
memberClaus Brod14-Jan-04 0:30 
GeneralRe: Interface Interop.COMAdmin.ICOMAdminCatalog2 failed Pin
mayoroj2-Aug-05 13:30
membermayoroj2-Aug-05 13:30 
GeneralRe: Interface Interop.COMAdmin.ICOMAdminCatalog2 failed Pin
ER GovindAgarwal12-Sep-12 4:04
groupER GovindAgarwal12-Sep-12 4:04 
GeneralRe: Interface Interop.COMAdmin.ICOMAdminCatalog2 failed Pin
ER GovindAgarwal12-Sep-12 4:18
groupER GovindAgarwal12-Sep-12 4:18 
Generaldemo .zip file Pin
Antonio Barros12-Jan-04 10:45
memberAntonio Barros12-Jan-04 10:45 
GeneralRe: demo .zip file Pin
Natty Gur12-Jan-04 17:56
memberNatty Gur12-Jan-04 17:56 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Terms of Use | Mobile
Web01 | 2.8.170308.1 | Last Updated 12 Jan 2004
Article Copyright 2004 by Natty Gur
Everything else Copyright © CodeProject, 1999-2017
Layout: fixed | fluid