Simple command line assembly reference checker
C# Smalltalk PowerShell
Latest commit a8c197b Jan 17, 2017 @mikehadlow committed on GitHub Merge pull request #35 from michaelthyregod/master
Splitted up into new project, where commandline operations are available

Build status


A simple command line tool to view assembly references.


Install from Chocolatey package:

C:\> choco install asmspy

Or download AsmSpy as a .zip here. The .zip file contains AsmSpy.exe.

How it works

Simply run AsmSpy giving it a path to your bin directory (the folder where your project's assemblies live).

AsmSpy D:\Source\sutekishop\Suteki.Shop\Suteki.Shop\bin

It will output a list of all conflicting assembly references. That is where different assemblies in your bin folder reference different versions of the same assembly.


Switch Description
all list all assemblies and references.
Supported formats: -a, --all
nonsystem ignore system assemblies.
Supported formats: -n, --nonsystem
noconsole do not show reference output on console.
Supported formats: -nc, --noconsole
silent do not show any output, only warnings and errors will be shown.
Supported formats: -s, --silent
dgml export dependancy graph to a dgml file.
Supported formats: -dg <filename>, --silent <filename>


To see a list of all assemblies and all references, just add the 'all' flag:

AsmSpy D:\Source\sutekishop\Suteki.Shop\Suteki.Shop\bin --all

To ignore system assemblies, add the 'nonsystem' flag.

The output looks something like this:

Reference: System.Runtime.Serialization by Microsoft.ServiceModel.Samples.XmlRpc by Microsoft.Web.Mvc by Suteki.Shop
Reference: System.Web.Mvc by Microsoft.Web.Mvc by MvcContrib by MvcContrib.FluentHtml by Suteki.Common by Suteki.Common by Suteki.Shop by Suteki.Shop
Reference: System.ServiceModel.Web by Microsoft.Web.Mvc
Reference: System.Web.Abstractions by Microsoft.Web.Mvc

You can see that System.Web.Mvc is referenced by 7 assemblies in my bin folder. Some reference version and some version I can now resolve any conflicts.

Color coding is used to more easily distinguish any problems.

  • Green - referenced assembly found locally, in the specified directory
  • Yellow - referenced assembly not found locally, but found installed in the Global Assembly Cache
  • Red - referenced assembly missing