Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

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 dependency graph to a dgml file.
Supported formats: -dg <filename>
dgml version Show the assembly version on the label.
Supported formats: -dgsv, --dgshowversion
dot Export dependency graph to a DOT file.
Supported formats: -dt <filename>
xml Export dependency graph to a xml file.
Supported formats: -x <filename>
rsw Will only analyze assemblies if their referenced assemblies starts with the given value.
Supported formats: -rsw <string>, --referencedstartswith <string>
e Will exclude assemblies if they start with the given value. This option can be provided multiple times.
Supported formats: -e <string>, --exclude <string>
tree Write a dependency tree to the console.
Supported formats: -tr --tree
treedepth Limit tree depth (in compbinaison with --tree). Supported formats : -trd <int> --treedepth <int>
treelabel Add [Level n] label in tree view of dependencies. Supported formats -trl --treelabel
i Include subdirectories in search.
Supported formats: -i, --includesub
c Use the binding redirects of the given configuration file (Web.config or App.config)
Supported formats: -c <string>, --configurationFile <string>
f Whether to exit with an error code when AsmSpy detected Assemblies which could not be found
Supported formats. -f, --failOnMissing


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 check only a single assembly provide a path to the file:

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

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

Configure AsmSpy as an external tool in Visual Studio

Blog post here