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

README.md

Build status

AsmSpy

A simple command line tool to view assembly references.

Install

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.

Switches:

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>

Examples

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
    3.0.0.0 by Microsoft.ServiceModel.Samples.XmlRpc
    3.0.0.0 by Microsoft.Web.Mvc
    4.0.0.0 by Suteki.Shop
Reference: System.Web.Mvc
    2.0.0.0 by Microsoft.Web.Mvc
    3.0.0.0 by MvcContrib
    3.0.0.0 by MvcContrib.FluentHtml
    3.0.0.0 by Suteki.Common
    2.0.0.0 by Suteki.Common
    3.0.0.0 by Suteki.Shop
    2.0.0.0 by Suteki.Shop
Reference: System.ServiceModel.Web
    3.5.0.0 by Microsoft.Web.Mvc
Reference: System.Web.Abstractions
    3.5.0.0 by Microsoft.Web.Mvc

You can see that System.Web.Mvc is referenced by 7 assemblies in my bin folder. Some reference version 2.0.0.0 and some version 3.0.0.0. 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