ILSpy, the Visual Studio Extension

Sign in to queue

Description

Today's Visual Studio Extension is one that can and will come in handy and is a must tool belt have...

Sometimes you've got an assembly, but no PDB or Source, and you just need to peek at how it works. Years ago, we highlighted the open source decompiler ILSpy, I spy with my little eye... ILSpy.

Today we're highlighting a Visual Studio Extension that makes ILSpy that much easier to use, almost too easy (insert "With great power, comes..." here)

ILSpy

Integration of the ILSpy Decompiler into Visual Studio.

Contents

  • Overview
  • Changelog
  • Contact Information

Overview

ILSpy is a Visual Studio extension for the ILSpy open source decompiler.

In this v1.0, one integration feature is supported - Open in ILSpy via the context menu of the References node in a project:

image

And as is our wont, I installed it and use it on itself... :)

image

Now here's an ILSpy (or other like tool) trick, you can use it to view the source in a different language than it was written in.

Here's a C# assembly, viewed in VB.Net

image

You've not heard about ILSpy? Well we can't have that!

ILSpy is the open-source .NET assembly browser and decompiler.

...

ILSpy Features

  • Assembly browsing
  • IL Disassembly
  • Support C# 5.0 "async"
  • Decompilation to C#
    • Supports lambdas and 'yield return'
    • Shows XML documentation
  • Decompilation to VB
  • Saving of resources
  • Save decompiled assembly as .csproj
  • Search for types/methods/properties (substring)
  • Hyperlink-based type/method/property navigation
  • Base/Derived types navigation
  • Navigation history
  • BAML to XAML decompiler
  • Save Assembly as C# Project
  • Find usage of field/method
  • Extensible via plugins (MEF)
  • Assembly Lists

Again, with great power... you have a choice as to how you use a tool like this. Good or bad, the choice you make is in your hands.

That said, this tool has saved my behind a few times and is one that must be in your tool belt.

BTW, you did catch that the entire tool and many of it's components are open source, right? IE. you've don't NEED this tool to decompile it, the source for just about everything is already available and is just a clone or fork away... :)



The Discussion

  • User profile image
    Tom

    ILSpy is awesome. There's also a plugin for LINQPad which integrates it http://vincpa.github.io/linqpadspy/

Add Your 2 Cents